1、vmstat命令监控系统资源 ***
[root@localhost ~]# vmstat [刷新延时 刷新次数]
例如:
vmstat 1 3
procs:进程信息字段:
r :等待运行的进程数,数量越大,系统越繁忙。
b:不可被唤醒的进程数,数量越大,系统越繁忙。
memory:内存信息字段:
swpd:虚拟内存的使用情况,单位KB。
free:空闲的内存容量,单位KB。
buff:缓冲的内存容量,单位KB。
cache:缓存的内存容量,单位KB。
注:缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的。
swap:交换分区的信息字段:
si:从磁盘中交换但内存中数据的数量,单位KB。
so:从内存中交换到磁盘中的数据的数量,单位KB。此两个数越大,证明数据需要经常在磁盘和内存之间交换,系统性能越差。
io:磁盘读写信息字段:
bi:从块设备读入数据的总量,单位是块。
bo:写到块设备的数据的总量,单位是块。此两个数越大,代表系统的 I/O 越繁忙。
system:系统信息字段:
in:每秒被中断的进程次数。
cs:每秒钟进行的事件切换次数。此两个数越大,代表系统与借口设备的通信越繁忙。
CPU:CPU信息字段:
us:非内核进程消耗CPU运算时间的百分比。
sy:内核进程消耗CPU运算时间的百分比。
id:空闲CPU的百分比。
wa:等待 I/O 所消耗的CPU百分比。
st:被虚拟内存所盗用的CPU占比。
2、dmesg开机时内核检测信息 ***
[root@localhost ~]# dmesg
[root@localhost ~]# dmesg | grep CPU
3、free命令查看内存使用状态 ***
[root@localhost ~]# 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。+/buffers/cache的内存数,相当于第一行的free+buffers+cached。
第三行:total是swap的总数;used是已经使用的swap数,free是空闲的swap数。默认单位是KB。
4、查看CPU信息
[root@localhost ~]# cat /proc/cpuinfo
注:/proc是保存内存当中信息。
5、uptime命令
[root@localhost ~]# uptime
# 显示系统的启动时间和平均负载,可就是top命令的第一行。w命令也可以看到这个数据。
6、查看系统与内核相关信息
[root@localhost ~]# uname [选项]
选项:
-a:查看系统所有相关信息;
-r:查看内核版本;
-s:查看内核名称。
判断当前系统位数
[root@localhost ~]# file /bin/ls
随便找一个外部命令,看一下这个命令是在多少位的系统上执行的,从而确定操作系统的位数。
查询当前Linux系统的发行版本
[root@localhost ~]# lsb_release -a
7、列出进程打开或使用的文件信息
[root@localhost ~]# lsof [选项]
# 列出进程调用或者打开的文件的信息
选项:
-c 字符串:只列出以字符串开头的进程打开的文件
-u 用户名:只列出某个用户的程序打开的文件
-p pid:只列出某个PID进程打开的文件
例子:
lsof | more
# 查询系统中所有进程调用的文件
lsof /sbin/init
# 查看某个文件被哪个进程调用
lsof -c httpd
# 查看httpd进程调用了哪些文件
lsof -u root
# 按照用户名,查询某用户的进程调用的文件