在 ubuntu 14.04 上,我对所有日志运行了 grep 命令,该命令开始占用所有内存(~48 Gb)。
我尝试使用 kill -9、sudo kill -9、killall、pkill 等方法来终止它,但该进程仍在运行并占用所有内存。
%ps -f -p 28250
UID PID PPID C STIME TTY TIME CMD
karl 28250 1 6 11:07 ? 00:02:46 grep --color=auto cron alternatives.log alternatives.log.1 ...
%sudo cat /proc/28250/syscall
running
%cat /proc/28250/status
Name: grep
State: R (running)
Tgid: 28250
Ngid: 0
Pid: 28250
PPid: 1
TracerPid: 0
Uid: 134000025 134000025 134000025 134000025
Gid: 134000017 134000017 134000017 134000017
FDSize: 256
Groups: 4 997 999 1004 134000000 134000002 134000017 134000028
VmPeak: 71777208 kB
VmSize: 71777208 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 42003200 kB
VmRSS: 41993348 kB
VmData: 71765652 kB
VmStk: 140 kB
VmExe: 180 kB
VmLib: 2168 kB
VmPTE: 91864 kB
VmSwap: 5013564 kB
Threads: 1
SigQ: 5/386055
SigPnd: 0000000000000100
ShdPnd: 0000000000044103
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: ffffffff
Cpus_allowed_list: 0-31
Mems_allowed: 00000000,00000003
Mems_allowed_list: 0-1
voluntary_ctxt_switches: 28419
nonvoluntary_ctxt_switches: 948133
我感觉这与由于用户 ID 非常高(由于 freeIPA)而导致 lastlog 非常庞大这一事实有一定关系。
如何终止这个过程?!?!?
答案1
该进程最终死亡,距离 kill -9 至少 15 分钟之后。