1. 简介
Linux是一种开源的操作系统,被广泛应用于服务器和嵌入式设备。在运行Linux系统时,了解系统的状态和性能是非常重要的。本文将介绍一些Linux系统中用于监测系统状态的神奇命令。
2. top命令
top命令是一个动态的系统监控工具,可以实时显示系统的运行状态,包括CPU使用率、内存使用情况、进程信息等。
2.1 查看系统整体状态
通过运行top命令,可以看到系统整体的运行状态。以下是top命令的相关输出信息:
top - 16:15:32 up 15 days, 10:43, 5 users, load average: 0.02, 0.05, 0.01
Tasks: 265 total, 1 running, 264 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7859.5 total, 1610.4 free, 4561.0 used, 1688.2 buff/cache
MiB Swap: 2048.0 total, 2029.7 free, 18.3 used. 2711.9 avail Mem
在上述输出信息中,load average表示系统的负载情况,分别表示系统在过去1分钟、5分钟、15分钟内的平均负载。%Cpu(s)用于显示CPU的使用情况,其中us表示用户空间使用的CPU百分比,sy表示内核空间使用的CPU百分比,id表示CPU空闲百分比。
2.2 查看进程信息
top命令还可以显示当前正在运行的进程信息,包括进程ID、CPU使用率、内存使用情况等。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28170 root 20 0 53112 4172 3444 R 0.7 0.1 0:00.07 top
1 root 20 0 168160 6232 3992 S 0.0 0.1 0:05.23 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
在上述输出信息中,PID表示进程ID,%CPU表示进程的CPU使用率,%MEM表示进程占用的内存百分比。
3. vmstat命令
vmstat命令用于查看系统的虚拟内存、进程、CPU等信息。
3.1 查看系统的虚拟内存
通过运行vmstat命令,可以查看系统的虚拟内存使用情况。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 5792 165520 21020 3889604 0 0 1 220 21 30 1 1 98 1 0
在上述输出信息中,swpd表示交换空间使用的大小,free表示空闲内存的大小,buff表示文件系统缓冲区的大小,cache表示文件系统缓存的大小。
3.2 查看系统的进程
通过运行vmstat命令,并添加-p参数,可以查看系统的进程信息。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 5792 165520 21020 3889604 0 0 1 220 21 30 1 1 98 1 0
在上述输出信息中,procs表示进程状态,r表示正在运行的进程数,b表示处于等待状态的进程数。
4. iostat命令
iostat命令用于查看系统的磁盘、CPU等信息。
4.1 查看磁盘IO情况
通过运行iostat命令,并添加-d参数,可以查看磁盘的IO情况。
Linux 5.4.0-84-generic (hostname) 08/29/2022 _x86_64_ (4 CPU)
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.30 2.87 0.00 40505862 0
在上述输出信息中,tps表示每秒传输请求的次数,kB_read/s表示每秒从硬盘读取的数据量,kB_wrtn/s表示每秒向硬盘写入的数据量。
4.2 查看CPU使用情况
通过运行iostat命令,并添加-c参数,可以查看CPU的使用情况。
Linux 5.4.0-84-generic (hostname) 08/29/2022 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
10.31 0.76 3.94 1.08 0.00 83.91
在上述输出信息中,%user表示用户空间使用CPU的百分比,%system表示内核空间使用CPU的百分比,%idle表示CPU的空闲时间。
5. sar命令
sar命令是系统性能分析工具,可以用于查看系统的CPU、内存、磁盘等性能信息。
5.1 查看CPU使用情况
通过运行sar命令,并添加-u参数,可以查看CPU的使用情况。
Linux 5.4.0-84-generic (hostname) 08/29/2022 _x86_64_ (4 CPU)
12:00:01 AM CPU %user %nice %system %iowait %steal %idle
12:10:01 AM all 10.31 0.76 3.94 1.08 0.00 83.91
在上述输出信息中,%user表示用户空间使用CPU的百分比,%system表示内核空间使用CPU的百分比,%idle表示CPU的空闲时间。
5.2 查看内存使用情况
通过运行sar命令,并添加-r参数,可以查看内存的使用情况。
Linux 5.4.0-84-generic (hostname) 08/29/2022 _x86_64_ (4 CPU)
12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
12:10:01 AM 1696844 4274028 71.56 20724 2998088 2741032 45.59
在上述输出信息中,kbmemfree表示空闲的内存大小,kbmemused表示已使用的内存大小,%memused表示内存使用率。
6. dstat命令
dstat命令是一个全能的系统监控工具,可以实时显示系统的CPU、内存、磁盘、网络等信息。
6.1 查看CPU使用情况
通过运行dstat命令,并添加--cpu参数,可以查看CPU的使用情况。
----system---- ----total-cpu-usage----
time |usr sys idl wai hiq siq
08-29 08:02:48| 56 33 9 1 0 1
在上述输出信息中,usr表示用户空间使用CPU的百分比,sys表示内核空间使用CPU的百分比,idl表示CPU的空闲时间。
6.2 查看内存使用情况
通过运行dstat命令,并添加--mem参数,可以查看内存的使用情况。
----system---- ----total-cpu-usage----
time |usr sys idl wai hiq siq
08-29 08:02:48| 56 33 9 1 0 1
在上述输出信息中,used表示已使用的内存大小,buff表示文件系统缓冲区的大小,cach表示文件系统缓存的大小,free表示空闲内存的大小。
7. 结论
通过本文介绍的这些Linux监测系统状态的神奇命令,我们可以实时监控系统的运行状态,了解系统的性能状况。这些命令提供了丰富的信息,帮助我们排查系统问题、优化系统性能。