Linux监测系统状态的神奇命令

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监测系统状态的神奇命令,我们可以实时监控系统的运行状态,了解系统的性能状况。这些命令提供了丰富的信息,帮助我们排查系统问题、优化系统性能。

操作系统标签