Linux学习笔记之系统监控命令总结
1. top命令
top显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。
提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.
2. vmstat命令
VmStat 命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动 等的统计信息
用法: vmstat [option] delay [count]
其中delay用于表示两次数据采集的间隔以秒为单位,count表示数据采集的总次数,若不加count参数,则表示一直进行数据采集。
部分测试参数详解:
r:表示运行队列,如果运行队列过大,表示你的CPU很忙,一般会造成CPU使用率很高
b:阻塞进程数
swapd:虚拟内存使用大小,如果大于0,表示服务器物理内存不足了。
free:空闲的物理内存大小
buff:系统占用缓存大小
cache:用来记忆我们打开的文件,给文件做缓冲
si:每秒磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或内存泄漏
us:用户占用CPU时间
sy:系统占用CPU时间
id:空闲CPU时间,一般来说,id+us+sy=100
wt:等待IO cpu时间
3. tcpdump命令
Tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。它还有一个选项用于把捕捉到的包保存到文件里,以便以后进行分析。 -h:查看命令帮助
-i:网络接口
-c :需要输出包数量
4.网络状态统计:netstat
Netstat是一个用于监控进出网络的包和网络接口统计的命令行工具。它是一个非常有用的工具,系统管理员可以用来监控网络性能,定位并解决网络相关问题。
部分参数详解:
-r 显示路由表
-a显示所有连接
-i 显示网络接口
-t/u 显示tcp/udp连接
-n 以数字形式显示(不解析主机名)
-p 显示应用程序名称
5./proc虚拟文件系统
/proc 文件系统是一种内核和内核模块用来向进程(process) 发送信息的机制,这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息。与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。
如果系统中还没有加载proc 文件系统,可以通过如下命令加载proc 文件系统:
mount -t proc proc /proc
下面是一些/proc目录下面一些文件的含义
* /proc/cpuinfo - CPU 的信息(型号, 家族, 缓存大小等)
* /proc/meminfo - 物理内存、交换空间等的信息
* /proc/mounts - 已加载的文件系统的列表
* /proc/devices - 可用设备的列表
* /proc/filesystems - 被支持的文件系统
* /proc/modules - 已加载的模块
* /proc/version - 内核版本
* /proc/cmdline - 系统启动时输入的内核命令行参数
在写shell脚本监控CPU用量是常常会用到
# cat /proc/cpuinfo
这样的命令,然后配合awk,sort,sed等命令统计cpu运行状态。






浙公网安备 33010602011771号