vmstat命令:监控系统资源

vmstat 是 Linux 中的一个综合性能分析工具,可以用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、磁盘输入/输出状态等信息。vmstat 命令格式如下:
[root@localhost ~]# vmstat [刷新延时 刷新次数]

使用vmstat检测,每隔1秒刷新一次,共刷新3次

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st

1) procs:进程信息字段:

  • -r:等待运行的进程数,数量越大,系统越繁忙。
  • -b:不可被唤醒的进程数量,数量越大,系统越繁忙。

2) memory:内存信息字段:

  • -swpd:虚拟内存的使用情况,单位为KB。
  • -free:空闲的内存容量,单位为KB。
  • -buff:缓冲的内存容量,单位为KB。
  • -cache:缓存的内存容量,单位为KB。

3) swap:交换分区信息字段:

  • -si:从磁盘中交换到内存中数据的数量,单位为KB。
  • -so:从内存中交换到磁盘中数据的数量,单位为KB。

这两个数越大,表明数据需要经常在磁盘和内存之间进行交换,系统性能越差。

4) io:磁盘读/写信息字段:

  • -bi:从块设备中读入的数据的总量,单位是块。
  • -bo:写到块设备的数据的总量,单位是块。

这两个数越大,代表系统的 I/O 越繁忙。

5) system:系统信息字段:

  • -in:每秒被中断的进程次数。
  • -cs:每秒进行的事件切换次数。

这两个数越大,代表系统与接口设备的通信越繁忙。

6) cpu:CPU信息字段:

  • -us:非内核进程消耗CPU运算时间的百分比。
  • -sy:内核进程消耗CPU运算时间的百分比。
  • -id:空闲CPU的百分比。
  • -wa:等待I/O所消耗的CPU百分比。
  • -st:被虚拟机所盗用的CPU百分比。

如果服务器上的资源占用率比较高,那么使用 vmstat 命令查看到的参数值就会比较大。我们就需要手工进行干预,如果是非正常进程占用了系统资源,则需要判断这些进程是如何产生的;如果是正常进程占用了系统资源,则说明服务器需要升级了。

dmesg命令:显示开机时的内核检测信息

在系统启动过程中,内核还需要进行一次系统检测,这些内核检测信息会被记录在内存当中。使用dmesg 命令就可以查看这些内核检测信息。我们一般利用这个命令查看系统的硬件信息。dmesg 命令格式如下:

[root@localhost ~]# dmesg

查看CPU的信息

[root@localhost ~]# dmesg | grep CPU
[ 0.000000] smpboot: Allowing CPUs, hotplug CPUs
[ 0.000000] setup_percpu: NR_CPUS: nr_cpumask_bits: nr_cpu_ids: nr_node_ids:
[ 0.000000] PERCPU: Embedded pages/cpu @ffff88007c600000 s87168 r8192 d31616 u131072
[ 0.000000] SLUB: HWalign=, Order=-, MinObjects=, CPUs=, Nodes=
[ 0.000000] RCU restricting CPUs from NR_CPUS= to nr_cpu_ids=.
[ 0.000000] Offload RCU callbacks from all CPUs
[ 0.000000] Offload RCU callbacks from CPUs: -.
[ 0.021791] CPU: Physical Processor ID:
[ 0.022946] mce: CPU supports MCE banks
[ 0.091101] smpboot: CPU0: Intel(R) Core(TM) i5-6200U CPU @ .30GHz (fam: , model: 4e, stepping: )
[ 0.091198] perf_event_intel: CPUID marked event: 'cpu cycles' unavailable
[ 0.091199] perf_event_intel: CPUID marked event: 'instructions' unavailable
[ 0.091200] perf_event_intel: CPUID marked event: 'bus cycles' unavailable
[ 0.091200] perf_event_intel: CPUID marked event: 'cache references' unavailable
[ 0.091201] perf_event_intel: CPUID marked event: 'cache misses' unavailable
[ 0.091201] perf_event_intel: CPUID marked event: 'branch instructions' unavailable
[ 0.091202] perf_event_intel: CPUID marked event: 'branch misses' unavailable
[ 0.137337] Brought up CPUs
[ 1.383566] microcode: CPU0 sig=0x406e3, pf=0x1, revision=0xc6

查看第一块网卡的信息

[root@localhost ~]# dmesg | grep eth0
[ 2.521339] e1000 ::01.0 eth0: (PCI:66MHz:-bit) :0c:::e9:cb
[ 2.521344] e1000 ::01.0 eth0: Intel(R) PRO/ Network Connection

free命令:查看内存使用状态

free 命令可以查看系统内存和 swap 交换分区的使用情况,其输出和 top 命令的内存部分非常相似。free 命令格式如下:

[root@localhost ~]# free [选项]

选项:

  • -b:以字节为单位显示;
  • -k:以 KB 为单位显示,默认显示;
  • -m:以 MB 为单位显示;
  • -g:以 GB 为单位显示;

查看内存使用状态

[root@localhost ~]# free
total used free shared buff/cache available
Mem:
Swap:
  • 第一行:total 是总内存数,used 是已经使用的内存数,free 是空闲的内存数,shared 是多个进程共享的内存总数,buffers 是缓冲内存数,cached 是缓存内存数。默认单位是 KB。
  • 第二行:-/buffers/cache 的内存数,相当于第一行的 used-buffers-cached。+/buffers/cache 的内存数,相当于第一行的 free+buffers+cached。
  • 第三行:total 是 swap 交换分区的总数;used 是已经使用的 swap 交换分区数,free 是空闲的 swap 交换分区数。默认单位是 KB。

Linux查看CPU信息方法

CPU 的主要信息保存在 /proc/cpuinfo 这个文件中,我们只要查看这个文件,就可以知道 CPU 的相关信息。

[root@localhost ~]# cat /proc/cpuinfo
processor : #逻辑CPU编号
vendor_id : GenuineIntel #CPU制造厂商
cpu family : #产品的系列代号
model : #CPU系列代号
model name : Intel(R) Core(TM) i5-6200U CPU @ .30GHz #CPU系列的名字、编号、主频
stepping : #更新版本
microcode : 0xc6
cpu MHz : 2400.005 #实际主频
cache size : KB #二级缓存
physical id :
siblings :
core id :
cpu cores :
apicid :
initial apicid :
fpu : yes
fpu_exception : yes
cpuid level :
wp : yes
#CPU的功能标识
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xsaves
bogomips : 4800.01
clflush size :
cache_alignment :
address sizes : bits physical, bits virtual
power management:

最新文章

  1. [原]CentOS7部署PostGis
  2. ios cocopods 安装使用及高级教程
  3. jira任务批量操作示例
  4. 损失函数(Loss Function)
  5. Linux系统之压缩、解压缩,vi编辑器,系统初始化服务和系统监控
  6. RequestContextListener有什么用
  7. centos6.2下安装redis和phpredis扩展,亲测好用
  8. mongodb gdal 矢量数据格式驱动
  9. 洛谷 P1428 小鱼比可爱
  10. 【转】ASP.NET MVC教程
  11. Nginx log
  12. 遇到looper之类关于消息循环的
  13. 【MySQL故障处理】 Seconds_Behind_Master= NULL Error_code: 1197
  14. (八十七)AutoLayout的简介与实例
  15. 2018-2019-2 《网络对抗技术》 Exp1 PC平台逆向破解 20165215
  16. django admin的实用配置
  17. web前端知识大纲:系列一 js篇
  18. [daily][centos][iptables][firewalld] firewalld的初步了解
  19. Ubuntu18.04安装Openssl-1.1.1
  20. Chrome 谷歌如何快速实现跨域

热门文章

  1. 第二百三十六节,Bootstrap辅组类和响应式工具
  2. sql 注入入门
  3. 【python】函数参数-任意参数
  4. boost-tokenizer分词库学习
  5. lighttpd mysql php简单教程
  6. Http服务器实现文件上传与下载(一)
  7. cocos2d 粒子效果以及Particle Designer粒子工具的学习
  8. windows下caffe如何单独编译proto文件
  9. delphi -----TListView的用法
  10. Akka Essentials - 1