Задать вопрос
danielnewman
@danielnewman
Front-end

Как не допустить swap в Linux?

c0deca6efdd7b34f4abcdff900c1aaae.png


С 02:00 до 06:00 (область расколбаса графика) баловался du и переносом файлов. В районе 04:00, по причине IOwait (видимо) часть процессов решила залезть в swap. Так уже бывало на этом сервере, но лечить подобные ситуации ребутом — уже не с руки. Где мог — рестартил сервисы (mysql,nginx,sphinx), где рестарт не помогал — убивал и запускал заново.


Сейчас сервер выглядит так:

/usr/bin/slabtop --sort=c
Active / Total Objects (% used)    : 23432931 / 23747426 (98.7%)
 Active / Total Slabs (% used)      : 2735840 / 2735866 (100.0%)
 Active / Total Caches (% used)     : 106 / 186 (57.0%)
 Active / Total Size (% used)       : 10643029.64K / 10793250.76K (98.6%)
 Minimum / Average / Maximum Object : 0.02K / 0.45K / 4096.00K

8301820	8299960	99%	1.00K	2075455	4	8301820K	ext4_inode_cache
8400040	8376094	99%	0.19K	420002	20	1680008K	dentry
4174747	4173905	99%	0.10K	112831	37	451324K		buffer_head
534422	278544	52%	0.55K	76346	7	305384K		radix_tree_node
2122702	2121946	99%	0.06K	35978	59	143912K		size-64
33174	33121	99%	0.62K	5529	6	22116K		proc_inode_cache
185	185	100%	32.12K	185	1	11840K		kmem_cache
15588	15586	99%	0.58K	2598	6	10392K		inode_cache



1. Как принудить ext4_inode_cache, dentry к перезапуску без ребута сервера?

2. Как задать правило, что бы swap был последним делом?
  • Вопрос задан
  • 4433 просмотра
Подписаться 7 Простой Комментировать
Решения вопроса 1
okazymyrov
@okazymyrov
>> но лечить подобные ситуации ребутом — уже не с руки.
Я в такой ситуации делаю swapoff и swapon. При запуске первой, память обратно перекинется с диска в RAM.

А по вопросам ответа нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
vsespb
@vsespb
попробуйте команду sysctl, например sysctl vm.swappiness=30
Ответ написан
danielnewman
@danielnewman Автор вопроса
Front-end
# sync
# cat /proc/sys/vm/drop_caches

# echo > 1 > /proc/sys/vm/drop_caches
free pagecache

# echo > 2 > /proc/sys/vm/drop_caches
free dentries and inodes

# echo > 3 > /proc/sys/vm/drop_caches
free pagecache, dentries and inodes


rackerhacker.com/2008/12/03/reducing-inode-and-dentry-caches-to-keep-oom-killer-at-bay/
www.linuxinsight.com/proc_sys_vm_drop_caches.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы