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:

Linux 进程管理 vmstat、top、pstree命令的更多相关文章

  1. [Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务

    进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux    # 查看系 ...

  2. Linux进程管理之top

    关于Linux进程查看,前面讲解了ps命令,下面拉介绍另一个命令top ps:静态查看 top:动态查看 动态查看进程的状态 # top [root@wei ~]# top top - 18:38:4 ...

  3. Linux进程管理(一)

    目录 Linux进程管理(一) 参考 pstree命令 pidof命令 pmap命令 pwdx命令 ps命令 nice调优 发送信号 Linux进程管理(一)

  4. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  5. [转帖]十二 个经典 Linux 进程管理命令介绍

    https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看.   随笔- 109  ...

  6. Linux进程管理四大工具ps \dstat\ top\ htop

    Linux进程管理之“四大名捕” 一.四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”.内功卓越的高手“铁手”.腿功惊人 ...

  7. Linux 进程管理 笔记

    https://www.ibm.com/developerworks/cn/linux/l-linux-process-management/index.htmlLinux 进程管理剖析 进程可以是短 ...

  8. 浅谈Linux进程管理

    一  查看系统进程 在linux中,查看系统进程的命令为ps,常用格式为如下两个: (1)ps aux:unix格式查看系统进程 (2)ps -le:linux格式查看系统进程 一般地,ps aux更 ...

  9. Linux进程管理——查看内存的工具

    Linux进程管理——查看内存的工具 一查看内存的工具vmstat vmstat命令:虚拟内存信息vmstat [options] [delay [count]]vmstat 2 5 [root@ce ...

随机推荐

  1. php程序员网址大全

    网址:http://www.tnten.com/ 常用网址 慕课网 知乎 GitHub CSDN社区 博客园 51CTO 开源中国 IT之家 简明魔法 编程论坛 InfoQ 实验楼 Unix技术网 中 ...

  2. bootstrap基础学习十篇

    bootstrap字体图标(Glyphicons) a.什么是字体图标 字体图标是在 Web 项目中使用的图标字体.虽然,Glyphicons Halflings 需要商业许可,但是您可以通过基于项目 ...

  3. ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

    今天第一次遇到Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误,并且在错误提示的后半段出现了 ...

  4. java注解类定时器

    package com.jianwu.task; import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;imp ...

  5. JAVA源码之JDK(一)——java.lang.Object

    想要深入学习JAVA,还需追本溯源,从源码学起.这是我目前的想法.如今JAVA各种开源框架涌出,很多JAVA程序员都只停留在如何熟练使用的层次.身为其中一员的我深感惭愧,所以要加快学习的脚步,开始研究 ...

  6. 浅谈数据库并发控制 - 锁和 MVCC

    在学习几年编程之后,你会发现所有的问题都没有简单.快捷的解决方案,很多问题都需要权衡和妥协,而本文介绍的就是数据库在并发性能和可串行化之间做的权衡和妥协 - 并发控制机制. 如果数据库中的所有事务都是 ...

  7. powershell Start-Sleep

    秒: Start-Sleep –s 10 ,毫秒) Start-Sleep –m 10000 语法 Start-Sleep [-seconds] <int> [<CommonPara ...

  8. Checksum 磁盘扇区故障检测

    w https://en.wikipedia.org/wiki/Checksum https://zh.wikipedia.org/wiki/校验和 A checksum is a small-siz ...

  9. 服务不支持 chkconfig 的解决方法

    系统服务,在chkconfig --add  servername的时候老是提示服务不支持 chkconfig,经过查找,解决办法如下. 示例,auto_run的前三行如下:#!/bin/sh#chk ...

  10. 【转】如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源

    网上看到关于微信官方的跨平台跨业务的终端基础组件Mars的介绍文章,转载这这里.源代码: https://github.com/Tencent/mars作者:男人链接:https://zhuanlan ...