该命令用于查看进程相关信息,直接执行该命令就可以获取相关的信息。
[root@centos-s8 ~]# ps PID TTY TIME CMD 1211 pts/0 00:00:00 bash 1564 pts/0 00:00:00 ps
该命令结合相关选项使用,可以获取到更多信息。
对于运维工作,很多时候会发现内存消耗比较严重。可以使用ps结合相关的选项找出当前系统内存使用量较高的进程,如获取当前系统中消耗内存最多的5个进程:
[root@centos-s8 ~]# ps -aux | sort -rnk 4 | head -5 root 933 0.0 1.9 221232 38140 ? S 20:28 0:00 /usr/libexec/sssd/ sssd_nss --uid 0 --gid 0 --logger=files root 932 0.0 1.9 288936 39884 ? Ssl 20:28 0:00 /usr/libexec/ platform-python -s /usr/sbin/firewalld --nofork --nopid root 952 0.0 1.5 425280 31220 ? Ssl 20:28 0:00 /usr/libexec/ platform-python -Es /usr/sbin/tuned -l -P polkitd 902 0.0 1.2 1626800 25068 ? Ssl 20:28 0:00 /usr/lib/polkit-1/ polkitd --no-debug root 945 0.0 0.8 390280 17708 ? Ssl 20:28 0:00 /usr/sbin/ NetworkManager --no-daemon
命令中的“4”是带有-aux的ps命令输出的第4列,此列是内存的耗用百分比,最后一列是相对应的进程。
同样,使用该命令行也能够获取系统中消耗CPU资源的进程,如获取当前系统中消耗CPU资源最高的前5个进程,可执行以下命令:
[root@centos-s8 ~]# ps -aux | sort -rnk 3 | head -5 root 905 0.1 0.5 200100 10536 ? Ssl 20:28 0:04 /usr/bin/vmtoolsd root 24 0.1 0.0 0 0 ? I 20:28 0:04 [kworker/1:1-events_freezable_power_] rngd 915 0.1 0.3 160228 6576 ? Ssl 20:28 0:04 /sbin/rngd -f --fill-watermark=0 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 971 0.0 0.0 13100 1708 tty1 Ss+ 20:28 0:00 /sbin/agetty -o -p -- \u --noclear tty1 CentOS
如果想要获取更多信息,可使用-h选项。