Linux学习笔记之系统监控命令总结

 

1. top命令

top显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。

提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.

image

2. vmstat命令

VmStat 命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动 等的统计信息

用法: vmstat  [option] delay [count]

其中delay用于表示两次数据采集的间隔以秒为单位,count表示数据采集的总次数,若不加count参数,则表示一直进行数据采集。

image

部分测试参数详解:

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 :需要输出包数量

image

4.网络状态统计:netstat

Netstat是一个用于监控进出网络的包和网络接口统计的命令行工具。它是一个非常有用的工具,系统管理员可以用来监控网络性能,定位并解决网络相关问题。

部分参数详解:

-r 显示路由表

image

-a显示所有连接

-i 显示网络接口

image

-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运行状态。

posted @ 2016-04-24 21:37  勤奋的笨鸟  阅读(206)  评论(0)    收藏  举报