Назад | Перейти на главную страницу

Высокая НЕАКТИВНАЯ память

я использую Oracle Enterprise Linux 6.5 и Oracle Database 11g, когда я выполняю "top", покажите мне это

top - 14:08:02 up 5 days, 18:34,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 340 total,   1 running, 331 sleeping,   8 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  132038392k total, 100871400k used, 31166992k free,    16912k buffers
Swap: 32767996k total,        0k used, 32767996k free, 99462140k cached

Я выделяю 70 ГБ памяти для своей базы данных, поэтому при запуске базы данных отображается следующая ошибка

ORA-00845: MEMORY_TARGET not supported on this system

затем я выполняю "vmstat -s", чтобы показать следующий вывод

132038392  total memory
100928456  used memory
   278536  active memory
 99495304  inactive memory

Я понимаю, что 96 ГБ моей используемой памяти являются НЕАКТИВНОЙ памятью, тогда я использовал следующую команду, чтобы освободить мою НЕАКТИВНУЮ память

sync && echo 3 > /proc/sys/vm/drop_caches 

ничего не произошло, и я все еще не могу запустить свою базу данных, пока не перезагружу свою ОС. Как я могу решить эту проблему?

Вы можете попробовать это?

[1] Ниже приведена команда для установки вручную.

mount -t tmpfs shmfs -o размер = 70g / dev / shm

[2] Тогда попробуйте

SQL> startup nomount Если все работает, добавьте строку ниже в fstab, чтобы сделать его постоянным.

"tmpfs / dev / shm tmpfs size = 72g 0 0"

Я надеюсь, что у сервера достаточно ресурсов для db и других процессов.

Я думаю решить эту проблему с помощью следующей строки команд:

Прежде всего, запись в это приведет к тому, что ядро ​​сбросит чистые кеши. После сброса их память становится свободной.

To free pagecache:

echo 1 > /proc/sys/vm/drop_caches

echo 2 > /proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches

Если проблема не решена, необходимо это сделать:

Now change the value by modifying /etc/sysctl.conf 
kernel.shmmax 
kernel.shmall 
then force the system to activate this setting file without a reboot.
$ sysctl -p