2cpu 4Gサーバーがあります。最近では、負荷が比較的高いことがわかりました。トラブルシューティング後、Dステータスプロセスがあることが確認されました。一部の情報を確認してみると、再起動しなければ問題が解決できないと言われています。
しかし、何度も再起動しましたが、プロセスはまだ存在します。
このプロセスが何であるかを教えてください。プロセス?この問題を解決するには?
Linux 5.10.60-9.al8.x86_64 #1 SMP 月 9月 6日 21:30:37 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@test ~]# cat /proc/137/status
Name: load_calc
Umask: 0000
State: D (disk sleep)
Tgid: 137
Ngid: 0
Pid: 137
PPid: 2
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 64
Groups:
NStgid: 137
NSpid: 137
NSpgid: 0
NSsid: 0
Threads: 1
SigQ: 1/14009
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: ffffffffffffffff
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 000001ffffffffff
CapEff: 000001ffffffffff
CapBnd: 000001ffffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Seccomp: 0
Seccomp_filters: 0
Speculation_Store_Bypass: vulnerable
Cpus_allowed: 3
Cpus_allowed_list: 0-1
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 59154
nonvoluntary_ctxt_switches: 0
[root@test ~]# cat /proc/137/stack
[<0>] load_calc_func+0x55/0x1a0
[<0>] kthread+0x11b/0x140
[<0>] ret_from_fork+0x22/0x30
[root@test ~]# ps -ef |grep load
root 137 2 0 15:34 ? 00:00:00 [load_calc]
root 11317 1645 0 19:01 pts/0 00:00:00 grep --color=auto load
top - 19:03:10 up 3:28, 1 user, load average: 1.00, 1.00, 1.00
Tasks: 143 total, 1 running, 141 sleeping, 0 stopped, 1 zombie
%Cpu(s): 3.2 us, 0.0 sy, 0.0 ni, 96.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3538.5 total, 200.4 free, 774.7 used, 2563.3 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 2461.8 avail Mem
答え1
このプロセスの親プロセスはkthreadd
pid = 2です。これは「実際の」プロセスではなくカーネルスレッドです。プロセスのように予約されているので、プロセスのように見えますが、カーネルコードを実行し、独自のメモリスペースがありません。
load_calc
公式のLinuxカーネルから呼び出されたカーネルスレッドまたはカーネル関数への参照が見つかりません。手がかりを見つけるには、load_calc_func
カーネルログ(dmesg
)を確認してください。
Google はほとんど表示されず、load_calc_func
これは疑わしいです。おそらく中国のOpenAnolisクローンRHELの正当な製品でしょう。中国語を知っている人はわかります。マルウェアかもしれません。この場合、ログで見つかった内容は信頼できず、ディスクに表示されるファイルが実際にメモリにロードされているファイルであるかどうかは信頼できません。既知の良好なソースからシステムを再インストールする必要があります。。