Linux 系统信息及运行状态监控


Linux 的文件系统中,有一个特殊目录“/proc”, 该目录下列出的文件并非保存在磁盘上,而是内存中的一个映像。在该目录下可以找到许多有意思的东西,例如:

/proc/cpuinfo 本机 CPU的相关信息;

/proc/meminfo 本机内存及交换分区的使用信息;

/proc/modules 本机已安装的硬件模块信息;

/proc/mounts 本机已挂载 mount 上的设备信息;

此外, 该目录下有一些以数字为名称的子目录,每个子目录用于维护一个正在运行的进程,而目录名即为相应的进程ID。 例如进入名称为“1” 的子目录:

cd /proc/1

该目录下 文件“cmdline” 中的内容为该进程运行时执行的命令行;“environ”文件中的内容为该进程运行时的环境变量信息;“stat” 文件中存放的时该进程运行的状态信息等。

通过查看“ /proc” 目录下的文件,可以获取几乎所有的系统信息及系统的运行状态信息。事实上,Linux 下的诸多查询系统状态信息的命令,也是通过读取该目录下的文件而获取的。

以下是一些用于查看系统状态信息的命令:


df 命令

用于查看 Linux 文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。如:

df -k 以千字节 (KB) 为单位显示各分区的信息;

df -a 显示所有分区, 包括大小为0 的分区;

df -T 显示分区类型 (EXT2 或EXT3等)。


du 命令

用于查看文件或文件夹的大小 。如:

du -b /home 以字节为单位显示“ /home ”文件夹下各个子文件夹的大小;

du -ks home 以千字节 (KB) 为单位显示“/home” 文件夹的总大小;


top 命令

用于实时查看系统状态信息。 运行该命令后,屏幕上会显示如下信息:

CPU状态(CPU states): 包括用户进程占用比率、系统进程占用比率、用户的nice 优先级进程占用比率及空闲CPU资源比率等;

内存状态 (Mem): 包括内存总量、使用量、空闲量等;

交换分区状态(Swap): 包括交换分区总量、使用量、空闲量等;

每个进程的状态:包括进程ID、 用户名、优先级、CPU和内存使用量,以及运行该进程时执行的命令行;

执行 top 命令后,每隔5 秒,系统会自动刷新一次状态信息,如果要指定刷新间隔,在启动时加入“-d” 参数即可。例如:

top -d 1 启动 top ,并且每隔1 秒刷新一次。

进入 top 后,按下如下按钮会有相应功能:

【空格】 立即刷新显示信息;

【M】 按内存使用量排序;

【N】 按进程ID 排序;

【P】 按 CPU使用量排序;

【c】扩展命令行信息, 显示完整的命令行;
【?】 显示帮助信息;
【q】 退出 top 程序。


iostat 命令

统计并输出 CPU使用信息及特定设备或分区的IO 信息。

iostat -c 仅显示 CPU使用情况统计信息;

iostat -d 仅显示设备/分区使用情况统计信息;

iostat -d 2 统计设备/分区使用情况,并每隔2 秒刷新一次;

显示的 IO 统计信息中,各部分说明如下:

tps 设备每秒收到的 IO 传送请求数;

Blk_read/s 设备每秒读入的块数量;

Blk_wrtn/s 设备每秒写入的块数量;

Blk_read 设备读入的总块数量;

Blk_wrtn 设备写入的总块数量;

显示的 CPU统计信息各部分的含义同top。

粤ICP备11097351号-1