#前言:Linux系统自带了些实时查看监控系统运行状态的相关命令,接下来我们就来了解一下。

#首先我们先来了解一下什么是进程

#进程:是Linux用来表示正在运行的程序的一种抽象概念,Linux系统上所有运行的东西都可以称为进程

1.top命令:动态查看进程相关信息

[root@ctos1 ~]# top
top - :: up :, users, load average: 0.00, 0.02, 0.05
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : total, free, used, buff/cache
KiB Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root S 0.3 0.3 :03.03 sshd
root R 0.3 0.1 :00.02 top
root S 0.0 0.4 :19.29 systemd
root S 0.0 0.0 :00.04 kthreadd

#提示:前五行是系统整体的统计信息

#详解相关命令意思

#第一行:任务队列信息,和uptime命令的执行结果相同

[root@ctos1 ~]# uptime
:: up :, users, load average: 0.00, 0.01, 0.05

#内容详解

::45   #显示的是当前时间
up : #系统运行时间,格式为时:分
users #当前登录用户数
load average:0.00,0.01,0.5 #系统负载,三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

#第二行:进程信息

Tasks:  total,    running,  sleeping,    stopped,    zombie

#内容详解

Tasks: total    #进程总数
running #正在运行的进程数
sleeping #睡眠的进程数
stopped #停止的进程数
zombie #僵尸进程数

#第三行:cpu信息

%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st

#内容详解

0.0 us   #系统用户进程使用CPU百分比
0.2 sy #内核空间占用CPU百分比
0.0 ni #用户进程空间内改变优先级的进程占用cpu百分比
99.7 id #空前的CPU百分比
0.0% wa # IO等待占用CPU的百分比
0.0% hi #硬中断(Hardware IRQ)占用CPU的百分比
0.2% si # 软中断(Software Interrupts)占用CPU的百分比

#第四五行:内存信息

KiB Mem :   total,    free,    used,   buff/cache
KiB Swap: total, free, used. avail Mem

#内容详解

Mem: total   #物理内存总大小
free #空闲的内存
used #使用的物理内存总大小
buff/cache #用作内核缓存的内存量 swap: total #交换分区总量
used #使用的交换分区大小
free #空闲的

#进程状态

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
root S 0.3 0.3 :03.03 sshd
root R 0.3 0.1 :00.02 top

#内容详解

PID        #进程ID
USER #进程所有者的用户名
PR #进程的调度的优先级
NI #NICE值,负值表示高优先级,正值表示低优先级
VIRT #进程使用的虚拟内存
RES #进程使用的虚拟内存总量,单位KB
SHR #进程使用的共享内存,单位为kb
S #进程状态,有五种状态,D:不可中断的睡眠状态,R:运行,S:睡眠,
T:停止,Z:僵尸进程
%CPU #上次更新到现在的cpu时间占用百分比
%MEM #使用的物理内存百分比
TIME+ #使用的CPU时间总计,单位1/100秒
COMMAND #命令行/命令名

#top常用的快捷键

默认3s刷新一次
空格:立即刷新
q:退出
M:按内存大小排序
P:按CPU大小排序
N:按PID来排序
<>:翻页

2.ps查看系统进程状态

[root@ctos1 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 0.0 0.3 ? Ss : : /usr/lib/systemd/systemd -
root 0.0 0.0 ? S : : [kthreadd]

#内容详解

USER:进程拥有者
PID :进程的ID号
%CPU :CPU占用百分比
%MEM :占用内存的百分比
VSZ: 占用虚拟内存的大小,单位KB
RSS: 占用物理内存的大小,单位KB
TTY: 当前进程执行的终端号
STAT: 进程的状态
START:进程开始时间
TIME :进程实际使用CPU时间
COMMAND:实际命令

#扩展:查看进程的其他常用命令

pstree #是以进程树的形式显示
pgrep #是以进程名字或属性来显示查找进程的PID

3.nice进程控制

Linux系统中每一个进程都有一个优先级PR(priotity),PR值越小,优先级越高,就会被优先执行,NICE值可以自己设定,NI的正负影响到PR值,可以通过设定NI来题升或降低进程的优先级

#例子:以nice值为-20运行top命令

[root@ctos1 ~]# nice -n - top

#修改进程的优先级

#例如:将PID为33192的进程的NICE值修改为10

[root@ctos1 ~]# renice  

4.kill终止进程

 kill命令是发送一个信号给进程,默认是发送15(TERM)终止

#语法格式:kill PID

#例子:将PID为32813的进程终止

#可以先使用ps aux查看进程

[root@ctos1 ~]# kill 

#加-9:强制中断

[root@ctos1 ~]# kill - 

#使用pkill结束http所有进程

#可以使用pidof查看http相关的进程PID号

[root@ctos1 ~]# pidof httpd
     

#结束httpd的所有进程

[root@ctos1 ~]# pkill - httpd

#收集系统运行状态信息

#先来安装一个后面命令需要使用的包

[root@ctos1 ~]# yum install sysstat -y

5.iostat:查看设备或分区的io相关统计

#主要用户监控系统设备的io负载情况

#语法和相关参数

iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z  ]
[ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g group_name ] [ -p [ device
[,...] | ALL ] ] [ device [...] | ALL ] [ interval [ count ] ]

#使用

[root@ctos1 ~]# iostat
Linux 3.10.-.el7.x86_64 (ctos1) // _x86_64_ ( CPU) avg-cpu: %user %nice %system %iowait %steal %idle
0.22 0.00 0.34 0.01 0.00 99.42 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.90 8.75 87.33
scd0 0.00 0.03 0.00
dm- 3.03 7.99 87.28
dm- 0.00 0.06 0.00

#输出命令解释

Device:设备名
tps:该设备每秒的传输次数
KB_read/s:每秒从设备读取的数据量
KB_wrtn/s:每秒向设备写入的数据量
KB_read:读取的总数据量
KB_wrtn:写入的总数据量

#使用-d参数:显示磁盘的使用状态

[root@ctos1 ~]# iostat  -d   #每三秒刷新一次,总共报告两次
Linux 3.10.-.el7.x86_64 (ctos1) // _x86_64_ ( CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.83 8.57 85.22
scd0 0.00 0.03 0.00
dm- 2.96 7.83 85.17
dm- 0.00 0.06 0.00 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.00 0.00 1.99
scd0 0.00 0.00 0.00
dm- 1.00 0.00 1.99
dm- 0.00 0.00 0.00

#-x参数:显示和io相关的扩展数据

6.mpstat:查看处理器(CPU)相关的统计

#mpstat----report processors related statistics(处理器相关的报告统计)

#mpstat,全称为Multiprocessor Statistics。是实时系统监控工具

#查看帮助:man mpstat

#命令执行格式

mpstat  [ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] [ -P { cpu [,...] |
ON | ALL } ] [ interval [ count ] ]

#使用

[root@ctos1 ~]# mpstat
Linux 3.10.-.el7.x86_64 (ctos1) // _x86_64_ ( CPU) :: PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
:: PM all 0.23 0.00 0.32 0.01 0.00 0.02 0.00 0.00 0.00 99.42

#输出命令解释

CPU:       处理器编号,all表示统计信息计算为所有处理器之间的平均值
%usr: 用户下,CPU利用率百分比。
%nice: 具有nice优先级的用户下,CPU利用率百分比。
%sys: 系统级(内核)执行时发生的CPU利用率百分比
%Iowait: 显示系统具有未完成磁盘I/O请求时,CPU或CPU空闲的时间百分比。
%irq: 系统服务于硬中断的时间开销的百分比
%soft: 系统服务于软中断开销的时间开销百分比
%steal: 虚拟机管理程序服务另一个虚拟处理器时虚拟CPU或CPU无意中等待的时间百分比。
%guest: CPU运行虚拟处理器所花费的时间百分比。
%idle: CPU空闲的百分比

7.vmstat:查看虚拟内存相关的统计

#vmstat --- report virtual memory statistics(报告虚拟内存的统计信息)

#语法:vmstat [options] [delay [count]]

#查看帮助:man vmstat

#使用

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

#输出命令解释

r:等待执行的任务数
b:表示阻塞的进程
swap:虚拟内存已使用的大小
free:空闲的物理内存的大小
buff:已用的缓冲大小
cache:已用的缓存大小
si:每秒从磁盘读入虚拟内存的大小
so:每秒虚拟内存写入磁盘的大小
bi:块设备每秒接收的块数量
bo:块设备每秒发送的块数量
in:每秒CPU的中断次数
cs:每秒上下文切换次数
us:用户CPU时间
sy:系统CPU时间
id:空闲CPU时间
wa:等待io时间

8.其他相关查看信息

#查看CPU信息

lscpu 或cat /proc/cpuinfo

#查看内存信息

[root@ctos1 ~]# cat /proc/meminfo 

#查看虚拟内存的使用触发值

[root@ctos1 ~]# cat /proc/sys/vm/swappiness

#查看系统上使用的模块

[root@ctos1 ~]# cat /proc/modules

#查看系统分区信息

[root@ctos1 ~]# cat /proc/partitions
major minor #blocks name sda
sda1
sda2
sr0
dm-
dm-

#网络流量监控工具

iptraf
iftop

Linux监控系统相关资源和运行状态命令整理的更多相关文章

  1. Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录

    Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录 作为系统管理员,top命令看到users有多个用户登录,会需要查看下是否被黑客进入了. 实战例子:top命令:top - ...

  2. Linux监控系统概览

    自从Linux系统诞生之始,监控系统就随之出现. 当然说到监控系统,我们就必须聊到SNMP协议,SNMP分为管理端(NMP)和被管理端. 管理端周期性的到被监控端采集数据,被监控端还需要有权限收集数据 ...

  3. linux监控系统的状态

    1.命令w的第一行和uptime或者用upload2.system load averages 表示单位时间短内活动的进程数3.查看cpu的个数和核数processor.physical id 4.v ...

  4. Linux 查看系统相关信息(系统发型版本及内核版本等)

    以下为 Linux 以下信息查看命令,记录以备用 # uname -a # 查看内核/操作系统/CPU信息 # /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # ...

  5. Jmeter监控系统等资源,ServerAgent端口的修改

    默认情况下在下载的ServerAgent下,如果服务是windows系统,则直接启动"startAgent.bat"即可,如果是Linux系统,则直接启动"./start ...

  6. [转]Linux/Unix系统镜像/备份/恢复 (dd 命令使用)

    ref: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=22561912&id=156879 开源系统默认安装了一个d ...

  7. Jmeter监控系统等资源,ServerAgent端口的本次启动端口修改

    默认情况下在下载的ServerAgent下,如果服务是windows系统,则直接启动"startAgent.bat"即可,如果是Linux系统,则直接启动"./start ...

  8. linux(系统centos6.5)常用命令总结

    ls  -al 列出当前目录下的所有文件和子目录 用户在登录Linux时由/etc/passwd文件来决定要使用哪个shell,用户使用的shell被列于每行的末尾(/bin/bash) ls -F在 ...

  9. linux 监控系统缓存和cpu

    a=`free |head -n 2 |tail -n 1 |awk '{print $7}'`if [ $a -ge 900000 ];then     sync && echo 1 ...

随机推荐

  1. jquery框架概览(一)

    参照jQuery 2.0.3版本(http://files.cnblogs.com/files/snoy/jquery-2.0.3.js")来进行的源码分析 从代码的最外层可以看到是一个II ...

  2. JVM组成与作用

    class loader 类加载器:加载类文件到内存.Class loader只管加载,只要符合文件结构就加载,至于能否运行,它不负责,那是有Exectution Engine 负责的.exectio ...

  3. Python: Socket网络编程,多线程处理小Demo

    一个简单的例子,深入研究一下socket的多线程处理任务 Server端: #!/usr/bin/env python #encoding:utf8 # # 注意:定义encoding时必须在第二行 ...

  4. Alfresco的安装配置(Centos6系统中安装)

    Alfresco是一款开源的企业内容管理系统(ECMS),为企业提供了日常的文档管理.协同工作.工作记录管理.知识管理.网络内容管理.图片管理等多种功能. Alfresco是目前应用最广泛的开源企业知 ...

  5. c中结构体边界对齐

    原则1.普通数据成员对齐规则:第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储). 原则2 ...

  6. 在没有APP的125年前 印度的外卖小哥是这样送餐

    说到印度,你想到的是什么?咖喱.歌舞剧.开挂的火车?通通不是,我今天要说的是他们的外卖小哥,在印度如同"神"一般的存在.其实印度人不叫这批人为外卖小哥,而称他们为dabbawala ...

  7. Swift iOS实现把PCM语音转成MP3格式

    最近折腾了swift的语音录制识别和转码,这块还是比较坑的,由于语音识别的准确度实测大概也就80%左右,所以还是需要上传录音文件啊.首先是用讯飞语音SDK实现语音录制和识别(语音听写),第一个坑是讯飞 ...

  8. 生鲜电商的两极战:巨头VS地头

    ​ ​ "九月蟹黄满,十月蟹肉香",螃蟹年年相似,总是美味无边,但购买渠道却随着互联网普及而变得愈发多样起来.此前,大闸蟹礼券风靡就是最佳代表之一.虽然也引发诸多问题,但消费者也越 ...

  9. 使用pandas筛选出指定列值所对应的行

    在pandas中怎么样实现类似mysql查找语句的功能: select * from table where column_name = some_value; pandas中获取数据的有以下几种方法 ...

  10. 学了C++不知道怎么搞后台开发?先看看这份学习路线吧!

    作者:AJ 在去年结束的秋季招聘中,后台开发或服务器开发的岗位需求一度火热,甚至超过了算法岗.不少同学从诸神黄昏的算法岗战场上退下,转向更偏向工程能力的后台开发岗,从而造成后台开发岗位竞争的大爆发. ...