1、vmstat命令(重要)
vmstat [刷新延时] [刷新次数]
例如:vmstat 1 3
运行结果如下:
可见vmstat命令是把系统的重要的资源如内存、进程、swap交换分区、输入输出、系统、CPU信息整合到一起显示。
- procs:进程信息字段
-r: 等待运行的进程数,数量越大,系统越繁忙。
-b: 不可被唤醒的进程数量,数量越大,系统越繁忙。
- memory:内存信息字段
-swpd: 虚拟内存的使用情况,单位KB
-free: 空闲的内存容量,单位KB
-buff: 缓冲的内存容量,单位KB
-cache: 缓存的内存容量,单位KB
- swap:交换分区的信息字段
-si:从磁盘中交换到内存中的数据的数量,单位KB
-so:从内存中交换到磁盘中数据的数量,单位KB。
这两个数越大,证明数据需要经常在磁盘和内存之间交换,系统性能越差。
- io:磁盘读写信息字段
-bi:从块设备读入数据的总量,单位是块。
-bo:写到块设备的数据的总量,单位是块。
此两个数越大,代表系统的I/O越繁忙。
- system:系统信息字段
-in:每秒被中断的进程次数
-cs:每秒进行的事件切换次数
此两个数越大,代表系统与接口设备的通信越频繁。
- CPU:CPU信息字段
-us:非内核进程消耗CPU运算时间的百分比
-sy:内核进程消耗CPU运算时间的百分比
-id:空闲CPU的百分比(idle)
-wa:等待I/O所消耗的CPU的百分比
-st:被虚拟机所盗用的CPU占比
2、dmesg开机时内核检测信息(重要)
dmesg # 查看内核信息
dmesg | grep CPU # 查看CPU的信息
实例为:
3、free命令查看内存使用状态(重要)
free [-b|-k|-m|-g]
选项:
-b: 以字节为单位显示
-k: 以KB为单位显示,默认就是用KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
实例如下:
第一行:total是总内存数,used是已经使用的内存数,free是空闲的内存数,shared是多个进程共享的内存总数,buffers是缓冲内存数,cached是缓存内存数。默认单位是KB
第二行:-/buffers/cache的内存数,相当于第一行的used-buffers-cached-shared。+/buffers/cache的内存数,相当于第一行的free+buffers+cached+shared。
第三行:total是swap的总数;used是已经使用的swap数,free是空闲的swap数。默认单位是KB
4、查看CPU信息
cat /proc/cpuinfo
5、uptime命令
uptime
#显示系统的启动时间和平均负载,也就是top命令的第一行。w命令也可以查看到这个数据
因为top命令是个很耗费系统资源的命令,所以有时候用uptime命令查看系统的启动时间和平均负载还是很方便的,实例如下:
6、uname命令查看内核相关信息
uname [选项]
选项:
-a: 查看系统所有相关信息
-r: 查看系统内核版本
-s: 查看内核名称
实例如下:
7、判断当前系统的位数
file /bin/ls
随便找一个外部命令(如/bin/ls)
可见此系统是64位的系统
8、查看Linux系统的发行版本
lsb_release -a
实例如下:
9、查看进程打开或使用的文件信息
lsof [选项]
# 列出进程调用或打开的文件的信息
选项:
-c 字符串:只列出以字符串开头的进程打开的文件
-u 用户名:只列出某个用户的进程打开的文件
-p pid : 列出某个PID号进程打开的文件
例子:
lsof | more
# 查询系统中所有进程调用的文件
lsof /sbin/init
# 查/sbin/init文件被哪个进程占用
lsof -c httpd
# 查看httpd进程调用了哪些文件
ls -u root
#按照用户名,查询某用户的进程调用的文件名