top、 iostat、vmstat、sar、 free、mpstat、 time、uptime、fuser、 lsof
top
【功能】top命令可以实时动态的查看系统的整体运行情况。
【参数】-b:以批处理模式操作
-d<时间间隔>: 屏幕刷新的时间间隔
-u:只监控给定UID或用户名的进程
【说明】
1)top输出的信息包括系统运行的时间、平均负载、内存使用情况、CPU状态和最占用系统资源的进程状态列表(在下部显示)等信息。
2)top显示的信息每隔3秒自动刷新一次,使用空格键立即刷新
3)top指令可以杀死指定的进程,top运行界面下按K键,然后输入进程号,并按两次Enter
iostat
【功能】iostat用于监视系统输入输出设备和CPU的使用情况
【参数】-c:仅显示CPU使用情况
-d:仅显示设备利用率
-k:显示状态以KB/s为单位,而不是用block/s
-m:显示状态以M/s为单位
-p[{device|ALL}]:显示块设备和其下所有被使用的分区状态。ALL显示所有设备和对应的分区,包括没有被使用的分区。
-x:显示扩展状态。
【说明】
/proc/stat(系统信息),/proc/partitions(磁盘信息),/proc/diskstats(磁盘信息),/proc/uptime(系统运行了多久),/sys(块设备信息)
显示的是所有进程操作的平均值。
%user:用户级别(应用程序)操作的CPU利用率
%nice:用户级别(with nice priority)的CPU利用率,nice值越大,优先级越低
%system:系统级别(kernel)操作的CPU利用率
%iowait:IO期间CPU的时间利用率
%steal:当管理程序服务正在另一个进程时,用在等待CPU上的时间百分比
%idle:当磁盘没有进行IO时,CPU空闲的时间百分比
vmstat
【功能】显示虚拟内存状态,可以查看进程、内存、块I/O等系统整体运行状态。
【参数】-a 显示内存信息
-f 显示启动后创建的进程总数
-s 以表格方式显示事件计数器和内存状态
-d 报告磁盘状态
-p<partion> 显示指定的硬盘分区状态
-S M|K|k|m 以指定单位显示信息
【说明】/proc/meminfo,/proc/stat,/proc/*/stat
procs、memory、swap、io、system、cpu
sar
【功能】收集、报告、保存系统活动状态
【参数】-A 显示所有的报告信息
-b 显示I/O速率
-B 显示换页状态
-C 显示进程创建活动
-P{ cpu | ALL} 报告每个CPU的状态
-u 显示CPU利用率
-r 显示内存和交换分区的统计信息
-R 显示内存的统计信息
-v 显示索引节点,文件和其他内核表的状态
-W 显示交换分区的统计信息 -w 显示交换分区的活动
【说明】 /var/log/sa/saNN,/proc
time
【功能】统计指令运行所花费的时间
【实例】# time find / -name mysql*
free
【功能】查看当前系统的内存数目,显示被内核使用的内存缓冲区
【参数】-b,-k,-m 以字节、千字节(默认)、兆字节为单位显示
-t 显示汇总结果
-s 指定间隔的秒数
【说明】/proc/meminfo;
显示结果中的Mem:free表示未分配的物理内存数目
mpstat
【功能】显示CPU的状态
【参数】 -P { cpu | ALL}
-v 显示版本号
【说明】 /proc(包含系统统计信息)
uptime
【功能】系统运行了多长时间
【说明】/var/run/utmp(当前用户登录信息),/proc
lsof --不能用呢?
【功能】显示打开的文件列表 list open files
【参数】 -c 显示以指定字符开头的文件列表
【说明】/dev/kmem(内核虚拟内存设备),/dev/mem(物理内存),/dev/swap(系统页设备)
fuser
【功能】报告进程使用的文件或socket
【参数】-a 显示在命令行中指定的所有文件
-k 杀死访问指定文件的所有进程
-i 杀死进程前,需要用户进行确认
-l 列出所有一致信号名
-m 列出所有访问指定文件系统的进程
-n 选择不同的命名空间,file(默认,文件名),udp(本地UDP端口号),tcp(本地TCP端口)
-u 在每隔进程后显示所属的用户名
【说明】/proc(proc文件系统)
# fuser -n tcp -u 80