LINUX.ORG.RU
ФорумAdmin

Как узнать какой процесс скушал swap?

 ,


0

1

1) RHEL 6x, 4gb ram, 2gb swap, 2x4 Xeon 2.6. Web-server (whm, mariadb, nginx, php5.3) 2) Собиралки логов, грепов top'a, ps auxw etc перестают что либо писать в файлы, как только (неизвестный для меня) процесс съедает весь ram и swap 3) Единственное, что спасает сервант - ребут =*( Как словить негодяя, которые мешает мне спать?


for pid in `ps -ef| grep -v grep|awk '{print $2}'`; do echo -n «Pid: $pid »; cat /proc/$pid/smaps |grep -i swap| awk '{SUM += $2} END {print «SUM: » SUM " kB"}'; done

oxumorron
()
Ответ на: комментарий от anonymous

Какой шустрый анонимус...

for pid in `ps -ef| grep -v grep|awk '{print $2}'`; do echo -n "Pid: $pid "; cat /proc/$pid/smaps |grep -i swap| awk '{SUM += $2} END {print "SUM: " SUM " kB"}'; done
oxumorron
()
Ответ на: комментарий от oxumorron

не вкалывает сие писание. Задачу уточню: мне нужно узнать (после ребута сервера) какой процесс кушал своп (до ребута).

qtheya
() автор топика
Ответ на: комментарий от qtheya

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

oxumorron
()
Ответ на: комментарий от anonymous

Изящно, но если смотреть не от рута - свалится на первом же Permission Denied, но это мелочи.

oxumorron
()
Ответ на: комментарий от anonymous

unexpected character 0xc2 cat: /proc/PID/smaps: No such file or directory «Pid: 1 »awk: 1: unexpected character 0xc2 «Pid: 2 »awk: 1: unexpected character 0xc2 «Pid: 3 »awk: 1: unexpected character 0xc2 «Pid: 4 »awk: 1: unexpected character 0xc2 «Pid: 5 »awk: 1: unexpected character 0xc2 «Pid: 6 »awk: 1: unexpected character 0xc2 «Pid: 7 »awk: 1: unexpected character 0xc2 «Pid: 8 »awk: 1: unexpected character 0xc2 «Pid: 9 »awk: 1: unexpected character 0xc2 «Pid: 10 »awk: 1: unexpected character 0xc2 «Pid: 11 »awk: 1: unexpected character 0xc2 «Pid: 12 »awk: 1: unexpected character 0xc2 «Pid: 13 »awk: 1: unexpected character 0xc2 «Pid: 14 »awk: 1: unexpected character 0xc2 «Pid: 15 »awk: 1: unexpected character 0xc2 «Pid: 16 »awk: 1: unexpected character 0xc2 нутыпонел, ага

qtheya
() автор топика
Ответ на: комментарий от qtheya

нутыпонел, ага

Вообще-то нет, не понял. Ты небось с елочками скопировал, и даже если нет, то ты делаешь что-то не так.

anonymous
()
Ответ на: комментарий от oxumorron

Ты уверен, что правильно используешь этот мем? Если уверен, то скажи что не так в «so you say»?

anonymous
()
Ответ на: комментарий от anonymous

Звучит очень по-русски, так что использую «мем», как ты говоришь, правильно.

Да и цитата это просто из бородатого анекдота - не более.

oxumorron
()
Ответ на: комментарий от oxumorron

Звучит очень по-русски

То-то я часто ее слышу в кино, должно быть русские сценаристы захватили голливуд!

anonymous
()
Ответ на: комментарий от qtheya

какой процесс кушал своп

То есть у вас только один процесс что-ли? Обычно системы многозадачные и там в своп вытесняются разные процессы.

Единственное, что спасает сервант - ребут

А что-же OOM-killer?

Настройте netconsole, может что интерестное в лог успеет по сети улететь.

mky ★★★★★
()
Ответ на: комментарий от anonymous

а если в системе нет /proc/${pid}/smaps ?

А если в системе нет /proc/${pid}/smaps, то откуда тот же top берёт информацию по свопу? Он же, собака, где-то её находит.

anonymous
()
Ответ на: комментарий от af5

А што, если братом анонимуса окажется твой батя. Или ТЫ САМ?

anonymous
()
Ответ на: комментарий от anonymous

/proc есть, нет конкретно /proc/${pid}/smaps

У топа в strace слишком много информации валится, полчаса уже изучаю, найти пока не могу. У ps нужной опции со свопом воообще пока не вижу.

anonymous
()
Ответ на: комментарий от anonymous

top и statm vs. smaps

top именно так и считает.

цитата из man 1 top:

       o: VIRT  --  Virtual Image (kb)
          The total amount of virtual memory used by the task.  It includes all code, data and shared libraries plus pages that have been swapped out.

          VIRT = SWAP + RES.


       p: SWAP  --  Swapped size (kb)
          The swapped out portion of a task's total virtual memory image.

Но цифры, показываемые утилитой top в колонке SWAP, совсем не совпадают с цифрами, суммируемыми из /proc/${pid}/smaps. И, судя по всему, реальное использование свопа показывает именно smaps, top же показывает максимально возможное количество могущего быть использованным процессом свопа. Как-то так.

Братья анонимусы, поправьте меня.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.