я использую 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