Linux Dステータスプロセスの再起動はまだ存在しますか?どうやってドラッグできますか?

Linux Dステータスプロセスの再起動はまだ存在しますか?どうやってドラッグできますか?

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

このプロセスの親プロセスはkthreaddpid = 2です。これは「実際の」プロセスではなくカーネルスレッドです。プロセスのように予約されているので、プロセスのように見えますが、カーネルコードを実行し、独自のメモリスペースがありません。

load_calc公式のLinuxカーネルから呼び出されたカーネルスレッドまたはカーネル関数への参照が見つかりません。手がかりを見つけるには、load_calc_funcカーネルログ(dmesg)を確認してください。

Google はほとんど表示されず、load_calc_funcこれは疑わしいです。おそらく中国のOpenAnolisクローンRHELの正当な製品でしょう。中国語を知っている人はわかります。マルウェアかもしれません。この場合、ログで見つかった内容は信頼できず、ディスクに表示されるファイルが実際にメモリにロードされているファイルであるかどうかは信頼できません。既知の良好なソースからシステムを再インストールする必要があります。

関連情報