本文介绍了 Linux 下常用的五个进程监控命令行工具ps、top、htop、atop、isof。这些工具可以帮助用户监控系统资源的使用情况,包括 CPU、内存、磁盘 I/O 等方面的信息。这些工具可以用来查看系统中运行的进程信息,以及实时监控系统资源的使用情况。它们适用于需要详细监控系统资源使用情况的场景,比如系统管理员需要监控服务器的负载情况,或者开发人员需要监控应用程序的资源占用情况等。
使用这些工具可以快速了解系统的运行情况,发现可能存在的性能问题,从而采取相应的优化措施。例如,如果发现某个进程的 CPU 占用率过高,可以通过对该进程进行优化来降低 CPU 的使用率,从而提高系统的性能。另外,这些工具也可以用来监控系统的安全性,例如通过查看系统中运行的进程和文件,可以发现潜在的安全风险,并及时采取相应的措施进行处理。
ps:
ps显示当前系统进程的快照,是一个功能强大的工具,可以输出详细的进程信息。
ps 命令的使用示例如下:
PID TTY TIME CMD
292 pts/0 00:00:00 bash
766 pts/0 00:00:00 ps
输出结果中的各个字段含义如下:
在本例中,输出结果显示了当前系统中运行的所有进程的 PID、所在终端、CPU 时间和命令行。其中,第一行是列名,后面每一行都表示一个进程的信息。例如,第二行表示进程 ID 为 292 的 bash shell 进程,该进程在终端 pts/0 上运行,已占用 CPU 时间 0 秒,命令为 bash。第三行表示进程 ID 为 766 的 ps 进程,该进程在终端 pts/0 上运行,已占用 CPU 时间 0 秒,命令为 ps。
使用 ps 命令可以获取当前系统中运行的进程信息,可以通过不同的参数来控制输出内容和格式。这些参数包括 a(显示所有进程)、u(显示进程的详细信息)、x(显示与当前用户无关的进程)等。例如,ps aux 命令可以显示系统中所有进程的详细信息,包括进程的 CPU 占用率、内存占用率、启动时间、命令行等信息。
top:
Top实时显示系统中各个进程的资源占用情况,是一个常用的系统监视工具。
使用 top 命令,可以实时显示系统中各个进程的资源占用情况。在命令行中输入 top 后,可以看到类似以下的结果:
top - 20:07:36 up 5:35, 1 user, load average: 0.25, 0.31, 0.29
Tasks: 205 total, 1 running, 204 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.6 us, 0.4 sy, 0.0 ni, 95.7 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 15930.2 total, 5946.9 free, 5696.4 used, 3286.9 buff/cache
MiB Swap: 16384.0 total, 16384.0 free, 0.0 used. 9206.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1435 root 20 0 25.9g 20.2g 16.8g S 20.5 67.0 8:24.30 java
2001 root 20 0 263.5m 87.5m 37.4m S 6.0 0.5 0:44.41 Xorg
2731 root 20 0 567.5m 160.0m 89.7m S 4.0 1.0 0:50.20 gnome-shell
2212 root 20 0 703.7m 62.7m 42.8m S 3.0 0.4 0:31.15 gnome-terminal-
1826 root 20 0 515.6m 44.4m 31.7m S 2.0 0.3 0:10.16 gsd-xsetting
1816 root 20 0 269.1m 23.8m 15.6m S 1.0 0.2 0:02.80 gsd-color
1856 root 20 0 367.6m 29.4m 20.7m S 1.0 0.2 0:05.54 gnome-settings-
2993 root 20 0 18.8g 12.1g 10.1g S 1.0 76.8 5:19.37 java
7061 root 20 0 137.3m 17.5m 11.5m S 1.0 0.1 0:00.17 sshd
其中,第一行显示了系统的运行时间、负载均衡等信息;
第二行显示了系统中运行的进程数量及其状态;
第三行显示了 CPU 的使用情况;
第四行显示了内存的使用情况;
从第六行开始,每行显示了一个进程的详细信息,包括进程 ID、用户、优先级、虚拟内存、实际内存、共享内存、进程状态、CPU 占用率、内存占用率、运行时间和进程名称等信息。
htop:
类似于 top,但是提供了更多的交互式功能和更友好的界面。
htop 命令可以提供与 top 类似的实时进程查看信息,但是提供了更多的交互式功能和更友好的界面。以下是 htop 命令的输出样例:
1 [||||||||||||||||||||||||||||||||||||||||||||||||| 100.0%] Tasks: 162, 479 thr; 1 running
2 [||||||||||||||||||||||||||||||||||||||||||||||||| 100.0%] Load average: 0.32 0.31 0.28
Mem[|||||||||||||||||||||||||||||||||||||||||||||||7867/15930MB] Uptime: 00:12:49
Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||0/16384MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1350 root 20 0 25.9G 20.2G 16.8G S 2.0 67.1 8h25:33 java
2675 user 20 0 632.0M131.4M 77.4M S 0.0 0.8 0:05.19 gnome-terminal-
1 root 20 0 168656 5352 3080 S 0.0 0.0 0:01.60 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root 0 - 0 0 0 I 0.0 0.0 0:03.77 rcu_gp
4 root 0 - 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 - 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kblockd
7 root 0 - 0 0 0 S 0.0 0.0 0:17.97 rcu_sched
8 root 0 - 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
9 root 0 - 0 0 0 S 0.0 0.0 0:10.86 rcu_bh
10 root 0 - 0 0 0 S 0.0 0.0 0:00.00 migration/0
11 root 0 - 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
其中,第一行显示了 CPU 使用情况的总体情况,包括所有 CPU 的使用情况及其使用率;
第二行显示了系统负载的情况,包括 1 分钟、5 分钟、15 分钟负载均衡的情况;
第三行显示了内存的使用情况,包括已使用内存、可用内存和交换空间的使用情况;
第四行显示了交换空间的使用情况;
从第六行开始,每行显示了一个进程的详细信息,包括进程 ID、用户、进程优先级、进程 nice 值、虚拟内存、实际内存、共享内存、进程状态、CPU 占用率、内存占用率、运行时间和进程名称等信息。
atop:
提供了比 top 和 htop 更详细的资源使用情况,包括 CPU、内存、磁盘 I/O 等方面的信息。
atop 命令可以提供比 top 和 htop 更详细的资源使用情况,主要包括 CPU、内存、磁盘 I/O 等方面的信息。使用 atop 命令的输出格式较为复杂,需要一定的使用经验。以下是 atop 命令的输出样例:
ATOP - localhost.localdomain 2021/07/16 14:32:11 --------------------------- 10s elapsed
PRC | sys 12m 90MB | user 8m 31MB | #proc 241 | #trun 1 | #tslpi 324 | #tslpu 0 | #zombie 0 | clones 142 | #exit 0 |
CPU | sys 17% | user 12% | irq 0% | idle 70% | wait 0% | steal 0% |
cpu | sys 17% | user 12% | irq 0% | idle 70% | cpu000 w 0% | cpu001 w 0% |
CPL | avg1 0.08 | avg5 0.09 | avg15 0.08 | csw | 11020 | intr | 1287 |
MEM | used 88MB | buff 1.3MB | cache 44MB | free 2006MB | swpused 0MB | swpfree 0MB |
DSK | sda | busy 3% | read 33 | write 69 | KiB/r 50 | KiB/w 400 | MBr/s 0.00 | MBw/s 0.00 | avio 0.33 ms |
NET | transport | tcpi 204 | tcpo 204 | udpi 0 | udpo 0 | tcpao 0 | tcppo 0 | tcprs 0 | tcpie 0 |
NET | network | ipi 252 | ipo 252 | ipfrw 0 | deliv 252 | | icmpi 0 | icmpo 0 |
NET | wlan0 ---- | pcki 127 | pcko 117 | sp 54.0 Mbps | si 0.0 B/s | so 0.0 B/s | er 0 |
其中,第一行显示了当前系统时间;
第二行显示了系统进程的基本信息,包括系统 CPU 时间占用率、用户 CPU 时间占用率、进程数、正在运行的进程数、进程数、进程数、僵尸进程数、克隆进程数、退出进程数等信息;
第三行显示了 CPU 时间占用率的详细信息,包括系统 CPU 时间占用率、用户 CPU 时间占用率、中断 CPU 时间占用率、空闲 CPU 时间占用率、等待 CPU 时间占用率、虚拟化 CPU 时间占用率等信息;
第四行显示了负载均衡的信息,包括 1 分钟、5 分钟、15 分钟负载均衡、上下文切换次数、中断次数等信息;
第五行显示了内存的使用情况,包括已使用内存、缓存内存、缓存内存、可用内存、已使用交换区、可用交换区等信息;
第六行显示了磁盘 I/O 活动情况,包括磁盘名称、磁盘忙碌率、读取次数、写入次数、每秒读取字节数、每秒写入字节数、每秒读取 MB 数、每秒写入 MB 数、平均 I/O 时间等信息;
第七行显示了网络传输层的信息,包括 TCP 连接数、TCP 连接数、UDP 发送次数、UDP 接收次数、TCP ACK 数据包数、TCP PUSH 数据包数、TCP 重传数据包数、TCP 不可达数据包数等信息;
第八行显示了网络数据链路层的信息,包括 IP 数据包数、IP 数据包数、IP 转发数、IP 数据包交付次数、ICMP 发送次数、ICMP 接收次数等信息;
最后一行显示了网络接口的信息linuxcpu占用率怎么看,包括网络接口名称、发送数据包数、接收数据包数、速率、接收数据速率、发送数据速率、错误数等信息。
iotop:
监视磁盘 I/O 活动,可以帮助用户找到磁盘 I/O 瓶颈。
以下是一个模拟 iotop 命令的输出样例:
Total DISK READ : 25.95 K/s | Total DISK WRITE : 54.31 K/s
Actual DISK READ: 25.95 K/s | Actual DISK WRITE: 54.31 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
213 be/3 root 0.00 B 32.00 K 0.00 % 0.00 % [jbd2/sda1-8]
436 be/4 root 0.00 B 24.00 K 0.00 % 0.00 % [ext4-rsv-conver]
404 be/4 root 0.00 B 8.00 K 0.00 % 0.00 % [ext4-rsv-conver]
437 be/4 root 0.00 B 4.00 K 0.00 % 0.00 % [ext4-rsv-conver]
28319 be/4 user 0.00 B 0.00 B 0.00 % 0.00 % sshd: user@pts/0
其中linuxcpu占用率怎么看,第一行显示了总的磁盘读写速度;
第二行显示了实际的磁盘读写速度;
从第三行开始,每行显示了一个进程的详细信息,包括进程 ID、优先级、用户、磁盘读速度、磁盘写速度、交换区读速度、IO 操作类型、进程名称等信息。
结论
对于 Linux 系统管理员来说,了解并掌握这些进程监控命令行工具是非常必要的。每个命令行工具都有其特定的优点和缺点,可以根据实际需要选择使用。通过这些工具,可以准确地了解系统资源使用情况,及时发现问题并进行优化,确保系统的稳定和高效运行。
限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688