为什么我的“ps aux”命令列现在显示乱码?

为什么我的“ps aux”命令列现在显示乱码?

在使用ps aux查找进程的 PID 时,我遇到了一些阻止我这样做的输出。上个月,我在同一台服务器上做过这件事。今天的输出如下:

(向右滚动 → → → →)

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 192652  2472 ?        Ss    2017 194:50 [systemd]
root         2  0.0  0.0      0     0 ?        S     2017   0:00 [kthreadd/153968]
root         3  0.0  0.0      0     0 ?        S     2017   1:47 [khelper/153968]
root        95  0.0  0.0  41608   120 ?        Ss    2017   0:00 !!        ?\???  ?       ????
root       115  0.0  0.1 586308  2760 ?        Ssl   2017  18:36 !!        ?\???  ?
postfix    117  0.0  0.0 404692   516 ?        Ssl   2017  10:33 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @     ?       8       ?       ?       ?
dbus       131  0.0  0.0  24412   900 ?        Ss    2017 123:06 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @     ?
root       166  0.0  0.0  11696   524 ?        Ss    2017   2:36 !!        ?\???  ?
root       168  0.0  0.0  80308   280 ?        Ss    2017   0:55 !!        ?\???
root       175  0.0  0.0  27060   408 ?        Ss    2017   0:07 !!        ?\???  ?       ????    ?        ?      ?
dovecot    182  0.0  0.0   9384   428 ?        S     2017   1:19 !!        ?\?
root       183  0.0  0.0   9516   548 ?        S     2017   0:47 !!        ?
root       204  0.0  0.0 124168   440 ?        Ss    2017   7:01 !!        ?\???  ?
root       205  0.0  0.0   6404     8 tty2     Ss+   2017   0:00 !!        ?\???  ?       ????
root       206  0.0  0.0 109984     8 tty1     Ss+   2017   0:00 !!        ?\???  ?       ????    ?        ?      ?       d       ?
named      239  0.0  0.0 243560  2036 ?        Ssl   2017   0:06 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @
mysql      264  0.0  0.0 113208     8 ?        Ss    2017   0:00 !!        ?\???  ?       ????    ?        ?
root       582  0.0  1.3 823592 28404 ?        Sl    2017 327:08 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @     ?       8       ?       ?       ?
root       799  0.0  0.0  12064   580 ?        S     2017  19:14 !!        ?\???  ?
root       998  0.0  0.0  88896   456 ?        Ss    2017  45:47 !!        ?\???  ?       ????
postfix   1045  0.0  0.0  89196   720 ?        S     2017  34:05 !!        ?\???  ?
postfix   1083  0.0  0.0  89104   520 ?        S     2017   1:33 !!        ?\???  ?
mysql     1088  0.1 14.2 3096344 299164 ?      Sl    2017 934:25 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @     ?       8       ?       ?       ?        ???H?  ?               ?       ??@     ?       ??      ?       ??      ?       ??      ?       ??      ?
drweb     1238  0.0  7.2 394364 153036 ?       Ss    2017   5:19 !!        ?\???  ?       ????    ?
root      2696  0.0  0.0  24220  1692 ?        Ss   16:41   0:01 !!        ?\???  ?       ????
root      2819  0.0  0.3  36768  6440 ?        Ss   16:42   0:00 /usr/lib/systemd/systemd-journald
root      4231  0.0  0.2 272824  4972 ?        Ss   01:09   0:15 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @     ?       8       ?       ?       ?        ???H?  ?               ?       ??@     ?       ??      ?       ??      ?       ??      ?       ??      ?
popuser   4232  0.0  0.1 272824  2200 ?        S    01:09   0:00 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @     ?       8       ?       ?       ?        ???H?  ?               ?       ??@     ?       ??      ?       ??      ?       ??      ?       ??      ?
drweb     4296  0.0  7.2 394364 151984 ?       S    01:09   0:01 !!        ?\???  ?       ????    ?
root      6223  0.0  0.1 507440  2348 ?        Ss   May13  12:06 !!        ?\???  ?       ????    ?        ?
root      6626  0.0  0.1 472820  3784 ?        Ss   May13   1:05 !!        ?\???  ?       ????    ?        ?      ?       d       ?       @ @     ?       8       ?       ?       ?        ???H?  ?               ?
root      7405  0.0  0.2 267892  5980 ?        Ss   May11   6:44 !!        ?\???  ?       ???
root      8205  0.0  0.0  52784  1656 ?        Ss   May08   0:00 !!        ?\???  ?       ????    ?        ?      ?
apache    8360  0.0  0.0 266712  1832 ?        S    Jul22   0:00 !!        ?\???  ?       ???
apache    8361  0.0  0.0 267892  1740 ?        S    Jul22   0:03 !!        ?\???  ?       ???
apache    8362  0.0  0.3 2248416 7956 ?        Sl   Jul22   1:52 !!        ?\???  ?       ???
apache    8363  0.0  0.3 2248416 8204 ?        Sl   Jul22   1:31 !!        ?\???  ?       ???
apache    8389  0.0  0.4 2248416 8668 ?        Sl   Jul22   2:38 !!        ?\???  ?       ???
apache    8577  0.0  0.4 2248416 9488 ?        Sl   Jul22   3:54 !!        ?\???  ?       ???
root     12484  0.0  0.1 217092  3336 ?        Ss   Jul05   7:00 !!        ?\???  ?       ????    ?        ?      ?       d
# ... snip ...

输出中稍后会显示一些有效命令。但是,大部分ps输出都包含这些垃圾!! ?\??? ?输出。但是,正如您所见,其中许多命令已经运行了很长时间——它们也曾经是有效命令。


首先,如果这个输出有一个正当的理由......它是什么?

其次,这是我应该担心的事情吗?

答案1

我以前没见过这种情况,所以我只能猜测。但我认为包含进程参数的内存页已被调出到交换空间,并且这些页面不会从交换空间读回以显示参数。

该命令ps aux从 /proc/$PID/cmdline 读取命令行。您可以查看某些进程的十六进制转储,以及输出正确的其他进程。如果有效输出针对较新的进程,则将支持该理论。自上个月它工作以来,您可能知道某些进程消耗了大量内存并导致未使用的页面被写入交换。程序启动后很少需要程序参数,因此除非同一内存页面上有其他内容,否则没有必要将这些页面再次加载到内存中。

相关内容