目录
1、vmstat命令
2、dmesg命令
3、free命令
4、查看CPU信息
5、查看本机登陆用户信息
(1)w命令
(2)who命令
6、uptime命令
7、查看系统与内核相关信息
<code>vmstat</code>命令是一个监控(查看)系统资源的命令。
示例:
提示: 因为我们这是Linux虚拟机,<code>vmstat</code>命令的输出项中很多数据都是0,真实环境的生产服务器并不是这样的。
输出项说明:
<code>procs</code>:进程信息字段。
输出项
说明
<code>r</code>
等待运行的进程数,数量越大,系统越繁忙。
<code>b</code>
不可被唤醒的进程数量,数量越大,系统越繁忙。
<code>memory</code>:内存信息字段。
<code>swpd</code>
虚拟内存的使用情况,单位KB。
<code>free</code>
空闲的内存容量,单位KB。
<code>buff</code>
缓冲的内存容量,单位KB。(加速数据的写入)
<code>cache</code>
缓存的内存容量,单位KB。(加速数据的读取)
<code>swap</code>:交换分区的信息字段。
<code>si</code>
从磁盘中交换到内存中数据的数量,单位KB。
<code>so</code>
从内存中交换到磁盘中数据的数量,单位KB。
此两个数越大,证明数据需要经常在磁盘和内存之间交换,系统性能越差。
<code>io</code>:磁盘读写信息段。
<code>bi</code>
从块设备读入数据的总量,单位是块。
<code>bo</code>
写到块设备的数据的总量,单位是块。
此两个数越大,代表系统的I/0越繁忙。
<code>system</code>:系统信息字段。
<code>in</code>
每秒被中断的进程次数。
<code>cs</code>
每秒钟进行的事件切换次数。
此两个数越大,代表系统与接口设备的通信非常繁忙。
CPU:CPU信息字段。
这里的信息和<code>top</code>命令中看到的信息类似。
<code>us</code>
非内核进程消耗CPU运算时间的百分比。
<code>sy</code>
内核进程消耗CPU运算时间的百分比。
<code>id</code>
空闲CPU的百分比。
<code>wa</code>
等待I/0所消耗的CPU百分比。
<code>st</code>
被虚拟机所盗用的CPU占比。
<code>dmesg</code>显示开机时内核检测信息。
在Linux系统开机的时候,Linux内核会有一些自检信息,这些信息可以通过<code>dmesg</code>命令重复的调用。
<code>free</code>命令查看Linux系统的内存使用状态。
输出项解释:
第一行:
<code>total</code>是总内存数。
<code>used</code>是已经使用的内存数。
<code>free</code>是空闲的内存数。
<code>shared</code>是多个进程共享的内存总数。
<code>buffers</code>是缓冲内存数,默认单位是KB(加速数据的写入)。
<code>cached</code>是缓存内存数,默认单位是KB(加速数据的读取)。
第二行:
<code>-/+ buffers/cache: 138M 1.7G</code>,其中138M是<code>- /buffers/cache</code>,1.78GB是<code>+ /buffers/cache</code>。
<code>- /buffers/cache</code>的内存数,相当于第一行的<code>used - buffers - cached</code>。
也就是说系统运行占用了240M的内容,但是<code>buffers</code>和<code>cached</code>两个缓存占用的空间是36M和65M。
而<code>buffers</code>和<code>cached</code>两个缓存是能被使用的,所以不应该算入系统占用内存中,所以计算机内存实际占用的数值为,内存占用总数减去两个缓存数,就是被系统实际占用的内存数。
<code>+ /buffers/cache</code>的内存数,相当于第一行的<code>free + buffers + cached</code>。
和上面同理,系统实际的空闲内存空间为,空闲空间free加上两个缓存空间的数值,就是系统实际空闲空间的内存数。
第三行:
<code>total</code>是swap的总数。
<code>used</code>是已经使用的swap数。
<code>free</code>是空闲的swap数。
以上数值默认单位是KB。
说明: Swap(临时内存空间)在当前虚拟机中,因为访问量人数是极少的,在这种情况下,Swap都不会被占用,因为内存消耗很小。 但是在实际的生成环境中,Swap是非常重要的,可以给服务器性能的提升带来很大的帮助。
CPU的主要信息保存在<code>/proc/cpuinfo</code>这个文件当中,我们只要查看这个文件,就可以知道CPU的相关信息。
命令如下:
拓展:
在<code>proc</code>目录中其实是有一组可以查看硬件信息的文件。
如下图所示:
如我们上边练习查看的CPU相关信息在<code>cpuinfo</code>文件中,
如果你需要查看系统中内存的信息,在<code>meminfo</code>文件中查看,
以后你想要查看相关硬件信息,都可以来<code>proc</code>目录中查看。
如果我们想要知道Linux服务器上目前已经登录的用户信息,可以使用<code>w</code>或<code>who</code>命令来进行查询。
<code>w</code>命令格式如下:
<code>w</code>命令输出项说明:
第一行
其实和<code>top</code>命令的第一行非常类似,主要显示了:
<code>08:09:36</code>:系统当前时间。
<code>up 1:55</code>:开机多久(up)。
<code>3 users</code>:有多少用户登陆(users)。
<code>load average: 0.33, 0.19, 0.22</code>:1分钟、5分钟、15分钟前的平均负载(load average)。
第二行
是项目的说明:
<code>USER</code>:登陆的用户名。
<code>TTY</code>:登陆终端。
<code>FROM</code>:从哪个IP地址登陆。
<code>LOGIN@</code>:登陆时间。
<code>IDLE</code>:用户闲置时间。
<code>JCPU</code>:指的是和该终端连接的所有进程占用的CPU运算时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间。
<code>PCPU</code>:是指当前进程所占用的CPU运算时间。
<code>WHAT</code>:当前正在运行的命令。
第三行开始每行代表一个用户。
<code>who</code>命令比<code>w</code>命令稍微简单一点,也可以用来查看系统中已经登录的用户。
<code>who</code>命令格式如下:
<code>uptime</code>命令的作用就是显示系统的启动时间和平均负载,也就是<code>top</code>命令的第一行。
其实<code>w</code>命令也能看到这一行的数据,具体原意使用哪个命令看个人习惯。
命令格式如下:
<code>top</code>命令其实是很耗资源的,如果我只想看其中一部分信息的时候,就比如说<code>top</code>命令的第一行信息,我们就可以使用<code>w</code>命令或者<code>uptime</code>命令代替。
我们使用<code>uname</code>命令查看内核的相关信息,
如果我们想要判断当前系统的位数,可以通过<code>file</code>命令来判断系统文件(主要是系统命令)的位数,来推断系统的位数。
如果我们想要查询当前Linux系统的发行版本,可以使用<code>lsb_release -a</code>命令查看。