FastNetMon

Saturday 29 May 2010

Скрипт для очистки неиспользуемой shm памяти

Все написанное ниже под большим сомнением, используйте на свой страх и риск :)


Бывает так, что процесс, работающий с shm падает и, разумеется, не успевает освободить блок shm памяти. Поэтому за shm памятью стоит следить и очищать, если находятся не используемые никем блоки. Число процессов, использующих блок shm можно посмотреть в столбце nattach выдачи команды
ipcs -m


А вот скрпит для удаления блоков shm памяти, у которых nattach равно 0.
ipcs -m | grep -v nattch | perl -e 'my $mem = 0; do { my@a=split "\\s+", $_; next if $a[4] or !$a[1]; print "Remove shm block with shmid $a[1] which used by $a[5] processes\n"; $mem+=$a[4]; `ipcrm -m $a[1]`} for<>; $mem /= 1024 for 1..2; print "Totally freed up: $mem mb\n" '

No comments :

Post a Comment

Note: only a member of this blog may post a comment.