Моя система - SUSE 10, и я заметил, что top
занимает 57% загрузки ЦП, когда я его использую.
У меня не так много процессов:
ps -eLf | wc -l
106
Здесь top
статистика:
cat /proc/2913/stat
2913 (top) R 2879 2913 2879 34819 2913 8396800 411 0 0 0 60648 199580 0 0 17 0 1 516504552 4811013274 2383872 285 4294967295 134512640 134596384 3215474448 3215470376 3085449998 0 0 0 138047495 0 0 0 17 3 0 0 0
cat /proc/2913/status
Name: top
State: R (running)
SleepAVG: 79%
Tgid: 2913
Pid: 2913
PPid: 2879
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 256
Groups: 0
VmPeak: 2360 kB
VmSize: 2328 kB
VmLck: 0 kB
VmHWM: 1144 kB
VmRSS: 1140 kB
VmData: 260 kB
VmStk: 84 kB
VmExe: 84 kB
VmLib: 1788 kB
VmPTE: 16 kB
Threads: 1
SigQ: 2/16383
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 00000000083a7007
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
Cpus_allowed: 00000000,00000000,00000000,0000000f
Mems_allowed: 1
## cat /proc/2913/statm
582 285 213 21 0 86 0
Что я могу сделать дальше, чтобы выяснить причину, по которой top
команда использует столько ЦП?
top использует только 1/8 мощности процессора вашего ? нетбук? вы можете видеть из этой строки:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2913 root 16 0 2328 1140 852 R 57 0.1 38:15.95 top
что он использует только то, что говорит 57%, в то время как 94 задачи спят:
Tasks: 95 total, 1 running, 94 sleeping, O stopped, O zombie
Затем вы можете обратить свое внимание на средний раздел:
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpul : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 :13.3%us,43.6%sy, 0.0%ni, 43.0%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
CPU0 на 100% находится в состоянии ожидания, как и CPU1 и CPU2, CPU3 занимает только 43% времени с системными процессами и 13% времени с пользовательскими процессами.
как говорится на первой странице человека 1:
us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
id, idle : time spent in the kernel idle handler
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor
верх только использует
57/4% или 14%
вашей вычислительной мощности и только
0,1%
вашей памяти.
Ваш сервер работает 556 дней. Хотя это не должно быть проблемой, возможно, длительное время безотказной работы вызывает какое-то странное поведение, которое вы замечаете. Без какой-либо очевидной причины. По моему опыту в таких ситуациях, новая перезагрузка сразу решает проблему. Я понимаю, что это глупое решение, но зачем тратить больше времени на его выяснение?
Если перезагрузка не помогает, стоит разобраться в этом подробнее.