`

When Memory_target Is Set and Swap Size Is Not Big (Doc ID 2356025.1)

 
阅读更多
Kkjcre1p: unable to spawn jobq slave process Happened Intermittently When Memory_target Is Set and Swap Size Is Not Big (Doc ID 2356025.1) To BottomTo Bottom

In this Document

  Symptoms
  Cause
  Solution
  References

 

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.1 to 12.2.0.1 [Release 11.2 to 12.2]
Information in this document applies to any platform.

SYMPTOMS

Database is running, and the processes which previously connected to database are working fine; however new sessions cannot be created with below symptom:

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 28 02:24:24 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.                          <============ sqlplus shows that it connects to an idle instance
SQL> show parameter cpu
ORA-01034: ORACLE not available

Alert log shows that "Process J000 died, see its trace file" and "kkjcre1p: unable to spawn jobq slave process" at bad time frame.

The problem happened intermittently. Memory_target is being used.

Strace output shows that a mmap() OS system call failed, the mmap() is trying to "map"/"claim" it will use memory as big as SGA_MAX_SIZE/MEMORY_TARGET size, and OS returned error ENOMEM (Cannot allocate memory).

[pid 16253] 15:38:39.787948 shmat(262149, 0, 0) = ?
[pid 16253] 15:38:39.787980 shmdt(0x7fd939905000) = 0
[pid 16253] 15:38:39.788011 mmap(0x66000000, 17079205888, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = -1 ENOMEM (Cannot allocate memory) <===== map 15GB memory
[pid 16253] 15:38:39.788044 munmap(0x60000000, 33554432) = 0
[pid 16253] 15:38:39.788072 munmap(0x62000000, 33554432) = 0
[pid 16253] 15:38:39.788098 munmap(0x64000000, 33554432) = 0

However the free memory is more than 4GB.

CAUSE

Swap size is under configured:

When memory_target is configured, server process will try to mmap a memory as big as sga_max_size/memory_target when it is created. (It is not to allocate so much memory, but only to "claim" it could use so much memory in the future, given sga_max_size/memory_target is set). If free memory + free swap is smaller than sga_max_size/memory_target, operating system will fail with ENOMEM (Cannot allocate memory). So if swap size is under configured, the issue will be likely happened.

SOLUTION

Add more swap size (eg, 0.75 x memory size, ideally swap size should at least be equal to memory size)

分享到:
评论

相关推荐

    swap color.rar_dug9ab_swap_swapping与swap

    标题"swap color.rar_dug9ab_swap_swapping与swap"可能指的是一个关于颜色交换的项目,其中可能包含了对背景和前景颜色进行交换的算法或应用。"dug9ab"可能是项目的一个特定标识符,而"swapping与swap"则强调了这个...

    swap_state.rar_swap

    在Linux操作系统中,交换(swap)空间是一种至关重要的内存管理机制。它允许系统在物理RAM不足时,将部分内存中的数据暂时存储到硬盘上,从而腾出物理内存供其他进程使用。标题"swap_state.rar_swap"暗示我们关注的...

    SogouInput_11.51_android_swap.apk

    SogouInput_11.51_android_swap.apk

    4_bit_swap.zip_4 bit sort_4_bit_swap_4bit swap_Logisim四位排序器_logi

    先使用1位的swap搭建4位的swap,再使用4位的swap模块和Logisim内置的comparator元件搭建排序电路(请不要使用Plexers类元件) 功能描述:该电路具有4个4位的二进制数字作为输入和4个4位的二进制数字作为输出。它的功能...

    swap_io.rar_swap

    1. **字节序识别函数**:如`is_big_endian()`和`is_little_endian()`,用来检测系统采用的字节序。 2. **字节交换函数**: - `ntohl()`,将网络字节序的32位整数转换为主机字节序。 - `ntohs()`,将网络字节序的...

    linux_swap.rar_swap

    当我们谈论"linux_swap.rar_swap"时,我们可以推断这可能是一个关于Linux交换分区或交换文件的源代码压缩包,包含了"linux_swap.c"和"LinearGradientAttributes.h"两个文件。 首先,让我们来理解Linux中的交换...

    chk_swap.rar_swap

    标题中的"chk_swap.rar_swap"可能是指一个名为"chk_swap"的程序或工具,它与Linux系统中的交换空间(swap)管理有关。在Linux中,交换空间是硬盘上的一块区域,当物理内存不足时,操作系统会将部分内存页临时移到...

    vm_swap.rar_swap

    在Linux操作系统中,虚拟内存(Virtual Memory)是一个关键的概念,它允许系统利用硬盘空间作为临时内存,当物理RAM不足时,将暂时不活跃的进程数据存储到硬盘上,以腾出物理内存供活跃进程使用。这个过程就涉及到...

    ieee_flags.rar_swap

    标题 "ieee_flags.rar_swap" 暗示我们关注的是与IEEE浮点数相关的特性,特别是与数据交换(swap)操作有关的内容。描述中提到的 `swap()` 函数在遇到不支持的特征时会返回负数,这可能是在处理不同平台或架构上的...

    GENESIS 2000 DFM PE

    The DFM Programming Environment is one of the many unique concepts of the Genesis 2000 system. Unlike any existing tool, the DFM Programming Environment (DFMPE) enables any user with elementary ...

    swap_test.rar_assignment_mv assignment swap

    在IT行业中,尤其是在C++编程领域,"swap_test.rar_assignment_mv assignment swap"这一标题和描述涉及到的是对象复制和赋值操作的重要概念。标题中的“swap”通常指的是交换两个变量或对象的值,而“assignment”则...

    page_io.rar_swap

    在这个场景下,“swap set page dirty”指的是Linux内核如何处理内存页的状态,特别是当一个页面的数据被修改后,标记为“脏”以便后续进行磁盘写入的过程。 交换空间是Linux系统用来扩展物理内存的一种机制。当...

    ib_srpt.rar_swap

    描述中的“Swap DMA_TO_DEVICE and DMA_FROM_DEVICE”进一步指明了这个修改涉及将数据传输方向从设备到主机(DMA_TO_DEVICE)和从主机到设备(DMA_FROM_DEVICE)进行互换。 在计算机系统中,DMA是一种允许外部设备...

    信息安全_数据安全_Blockchain_Anchored_Swap_Meet_—a_mock_trial.pdf

    信息安全_数据安全_Blockchain_Anchored_Swap_Meet_—a_mock_trial 信息保护 可信计算 数据泄露 应急响应 数据泄密

    hyts_Foo.rar_swap

    标题中的"hyts_Foo.rar_swap"可能是一个项目或软件的特定版本标识,其中"rar_swap"可能是指这个版本包含了某种数据交换或字节序转换的功能。描述中的信息进一步确认了这一点,它提到告诉"sys endian.h"我们有MD变种...

    atomicops_internals_x86_gcc.rar_This Is It

    例如,`__sync_val_compare_and_swap`函数用于执行CAS操作,它比较内存位置的旧值与期望值,如果相等则将新值写入内存,同时返回旧值。这种操作在多线程环境中用于实现非阻塞的同步。 在“atomicops_internals_x86_...

    swap_uchar.zip_swap_位域赋值_位赋值

    本文将深入探讨“swap_uchar.zip”文件所涉及的知识点,包括位域赋值和位赋值,以及如何实现一个字节8bit的反转。 首先,让我们了解“位域赋值”。在C语言中,位域允许我们将内存中的特定位范围定义为特定类型的...

    C++标准库(第二版)英文版.pdf

    The C++ Standard Library A Tutorial and Reference (2nd Edition)+cppstdlib-code.zip C++标准库(第二版)英文版.pdf 非扫描版+源代码 Prefaceto the SecondEdition xxiii Acknowledgments for the Second...

    formatted_task1151_swap_max_min.json

    formatted_task1151_swap_max_min.json

Global site tag (gtag.js) - Google Analytics