Linux之进程管理(2)相关命令之二

Linux之进程管理(2)相关命令之二

进程监控工具命令使用:uptime  top  vmstat  pmap  dstat

uptime  命令

uptime - Tell how long the system has been running.

显示当前已经运行的时长及cpu核心处理状态

说明:显示系统当前时间,系统运行时长,以及当前上线人数,系统平均负载(一般按1、5、10分钟的平均负载,一般不会超过1)。

选项及用法:

uptime  [option]

-p, --pretty  : 只显示系统运行时长,以人性化显示

-s, --since  :  系统启动时间,yyyy-mm-dd HH:MM:SS格式

注:只有uptime命令版本为3.3.10及支持以上选项,可以使用uptime -V查看当前命令版本。

案例1:

[[email protected] ~]# uptime

15:38:42 up  1:12,  1 user,  load average: 0.00, 0.01, 0.05

解析:这里显示当天的15:38:42开启系统,到目前已经运行了1个小时12分钟。同有一个用户登录。load average表示为平均负载的活动进程数。

注:系统平均负载:

在特定时间间隔内运行队列中的平均进程数,默认为1、5、10分钟之间。

生产环境中的例子:

1、如果每个CPU内存的当前活动进程数不大于3的话,那么系统的性能良好。如果每个CPU内核的任务大于5,那么说此机器的性能有严重问题。

2、如果linux主机是1个双核CPU的话,当Load Average为6的时候说明机器已经被充分使用了。

案例2:

#以人性化友好格式只显示系统启动时间

[[email protected] ~]# uptime -p
up 1 hour, 33 minutes

#只显示系统的运行时长

[[email protected] ~]# uptime -s
2016-09-09 14:26:01

#其实uptime显示的就是w命令输出的头部

[[email protected] ~]# w
 16:14:55 up 18:39,  2 users,  load average: 0.00, 0.02, 0.05
USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT
root     pts/0    10.1.250.34      05:25    3:51m  0.58s  0.58s -bash
root     pts/1    10.1.250.34      09:40    0.00s  0.20s  0.00s w

解析:这里w显示的头部信息同样和uptime显示的数据一样,都是显示系统运行时间等。

top 命令

直接输入top命令进入界面,展示信息详解:

[[email protected] ~]# top

头部信息解析(前几行关于系统及进程总体数据):

第一行:看到第一行应该熟悉了,同uptime命令输出的系统时长平均负载的等信息。

第二行:显示当前进程的总量和个别程在什么状态(runing, sleeping, stoped, zombie)。

注意:总共有340个进程,一般情况下running 都是显示1,cpu同一时间段只处理一个进程。而zombie为0说明进程运作目前正常,如果不会1就要检查是哪个进程处于僵死状态,并对其进行清除。

第三行:当前 CPU的整体负载,如果是多核心的cpu,可以按数字1来切换成不同CPU的负载率。

例子(1):运行在单核心Cpu上,此时按1,Cpu(s)变成了Cpu0:

解析:之前此处显示为Cpu(s),现在只显示了Cpu0,表示只要一个核心。

例子(2):运行在双核心Cpu上,按1,会显示多个核心的Cpu数据:

解析:这里显示了两个Cpu条目,表示为双核心,显示其中各自的运行比例。

Cpu后面的每个字段说明:

us:user space 用户运行程序占用CPU的百分比;

sy:system(kernel space)用于运行内核占用的CPU百分比;

ni:nice用户进程空间所改变过优先级的过程占用CPU的百分比;

id:idle空闲CPU百分比;

wa:wait io 等待I/O花费时间;

hi:hard ware interrupt 硬件中断占用CPU的百分比;

si:software interrupt 软链接中断占用的CPU百分比;

st:stolen,被虚拟机“偷走”的百分比;

第四行:表示物理内存的使用情况

第五行:表示交换分区的使用情况

第六行:这里默认显示空白,当在top程序当中输入命令时,显示结果状态的地方,这里可以输入的命令有:

按条件排序显示

P:根据CPU使用百分比大小进行排序

M:根据CPU使用百分比进行排序

T:根据累计时间进行排序

显示和隐藏指定条目:

l:是否显示平均负载和启动时间

t:是否显示CPU状态相关信息

m:是否显示内存(mem)相关信息

c:是否显示完整的命令行(command)信息

操作命令:

q:退出top

k:终止某个进程

进程栏位信息列表信息:

 

PID:(Process Id)进程的ID

PPID:(Parent Process Pid)父进程ID

RUSER:(Real User Name)进程的所有者真是名称

UID:(User Name)进程所有者名称

GROUP:(User Name)任务所属组名称

TTY:(Controlling Tty)当前在哪个终端上运行

PR :(Priority)优先级

%CPU:(CPU usage):CPU使用率

%MEM:(Memory usage (RES))内存使用率

S:(Process Status):进程状态

TIME+:(CPU Time, Hundredths):CPU时间,精确到秒

使用特定选项让进程信息输出到终端控制台:

top 命令选项:

top  [options]

-d  #:指定延迟时长,单位为妙

-b:batch批处理模式显示

-n  #:显示的比例次数

vmstat 命令

vmstat - Report virtual memory statistics

报告信息流程、内存、分页块IO、陷阱、磁盘和cpu活动。

命令使用及选项:

vmstat  [options ]  [delay  [count]]

delay   -    更新系统报告的延迟期限,单位为秒

count   -    总共进行几次更新打印,默认不指定为无限循环更新打印

-s   -    直接显示统计数据列表

案例介绍:

#直接输入vmstat显示实时信息

[[email protected] ~]# vmstat

重要信息格式解析:

procs:

r:等待运行的进程的个数,和核心数有关

b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)

memory:

swpd: 交换内存的使用总量

free:空闲物理内存总量

buffer:用于buffer的内存总量

cache:用于cache的内存总量

swap:

si:从磁盘交换进内存的数据速率(kb/s)

so:从内存交换至磁盘的数据速率(kb/s)

io:

bi:从块设备读入数据到系统的速率(kb/s)

bo: 保存数据至块设备的速率

注意:这里的swap并不是指文件系统里的交换内存使用状况,而是内存数据和磁盘数据之间读写的相互转换:

1、证明si内存从磁盘中交换

#下面验证信息,再次打开一个终端连接,使用dd命令将磁盘数据写入到内存:

[[email protected] ~]# dd if=/dev/sda of=/dev/null bs=1024M count=1

#输入此命令之后在另一终端查看vmstat更新属性(每2s更新,更新10次):

[[email protected] ~]# vmstat 2 10

解析:这里发现内存从硬盘接收数据,就是说明了swap中的si表示为内存从磁盘中接收。

2、证明so内存数据交换到磁盘

#同样再次进行dd命令将内存数据写入文件:

[[email protected] ~]# dd if=/dev/zero of=/tmp/tempfile bs=1024M count=1

#再次打开vmstate显示swap信息

[[email protected] ~]# vmstat 2 10

解析:这里同样显示了si的数据在疯狂提高,说明,内存中正有数据在写入磁盘,也就是所谓的内存数据交换到磁盘。

3、显示内存及I/O数据等统计数据列表

[[email protected] ~]# vmstat -s

pmap 命令

pmap - report memory map of a process

打印进程对应的映射表(注:也可以打开/proc/PID/map来查看进程对应的映射)

使用方法:

pmap  [options]  pid  ...

-x :显示所有详细格式信息

案例介绍:

#查看crond的pid

[[email protected] ~]# ps -C crond -o pid= | tr -cd ‘[0-9]\n‘ 
778

#查看crond的pid(778)的内存映射信息

[[email protected] ~]# pmap  778

dstat 命令

dstat - versatile tool for generating system resource statistics

多功能系统资源生成统计工具(多颜色的字符显示)

使用格式:

dstat [-afv] [options..] [delay [count]]

-c: 显示cpu相关信息

-C #,#,...,total

-d: 显示disk相关信息

-D total,sda,sdb,...

-g:显示page相关统计数据

-m: 显示memory相关统计数据

-n: 显示network相关统计数据

-p: 显示process相关统计数据

-r: 显示io请求相关的统计数据

-s: 显示swapped相关的统计数据

--tcp:    显示tcp相关进程

--udp:   显示udp相关进程

--unix:   显示内核相关进程

--raw:   显示无状态raw进程

--socket: 显示套接字状态

--ipc:    显示ipc信息

--top-cpu:显示最占用CPU的进程

--top-io:   显示最占用io的进程

--top-mem: 显示最占用内存的进程

--top-latency: 显示延迟最大的进程

查看显示:

#每2秒更新一次数据,共显示10次

[[email protected] ~]# dstat 2 10

解析:如果不知道更新次数,和vmstat命令一样会无限循环更新,这里显示的内容比vmastat更加丰富,而且支持ps命令里的列出的几种进程类型选项。

时间: 2024-10-27 17:49:20

Linux之进程管理(2)相关命令之二的相关文章

Linux之进程管理(2)相关命令之三

Linux之进程管理(2)相关命令之三 (IPC)进程间通信及信号控制命令 kill  killall   kill 命令 kill - terminate a process,Inter Process Communication 进程通信工具,默认为发送终止信号 选项及用法: kill  -l  #显示所有信号CODE及名称 kill  [-SIGNAL]  pid...#指定发送信号给对应pid的进程,不指定信号代码默认为15信号 常见的信号:(注:可以使用man 7 signal打开帮助

Linux之进程管理(2)相关命令之四

Linux之进程管理(2)相关命令之四 设置或调整进程优先级命令: nice  rnice nice 命令 nice - run a program with modified scheduling priority 运行一个程序时修改调度其进程优先级 格式及用法: nice  [options]  [command [args]] -n  # :#表示要设置此程序nice值,-20到19,值越下,优先级越高 注:-20到19的每个nice值分别对应(Centos5中为100-139,CentO

Linux之进程管理(2)相关命令之一

Linux之进程管理(2)相关命令之一 procps工具命令对进程管理的使用:   ps   pgrep  pidof  pkill  pstree ps  命令 ps  (Process State)  :report a snapshot of the current processes. 查看当前进程的快照信息表 此命令支持3种风格: 1.SysV风格:选项前必须加-符号,如ps  -ef 2.BSD风格:选项前可以不加-符号,如ps  aux 3.GUN风格:之前两个-符号,类似长选项,

玩转linux第四天之用户及组管理类相关命令(二)

1    前言 本文档主要介绍用户及组管理类相关命令如:useradd .usermod.passwd.userdel.groupadd.groupmod\gpasswd.groupdel.hage,chsh,chfn,.id,w,who,whoami.wck,gourpck.su,并提供相应案例解释其含义. 学习这些基础命令是一个Linux爱好者需要具备的首要条件,让小编带领你们进入Linux的世界看看它的一颦一笑. 读者对象 本文档(本指南)主要适用于以下人员: Linux爱好者 2    

Linux进程管理及相关命令

一些概念 终端 也叫终端设备,早期因为计算机比较昂贵,所以一个主机会有多个终端,这些终端本身不具备计算能力,仅仅承担信息的输入与输出工作,运算和处理均由主机来完成. 现在个人计算机也可以运行终端仿真程序来模拟一个终端来工作. 随着计算机的发展,移动终端也有了广泛应用,不仅有可以进行输入输出的工作,也可以进行一定的运算,实现部分系统的功能. 进程的权限 参看Linux下进程权限分析 一般进程有3个uid,分别为ruid(真实用户ID),euid(有效用户ID),suid(保存用户ID) setui

Linux基础--进程管理相关命令介绍(2)

本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有top,vmstat等. (1)top ①功能:用来查看CPU,内存以及进程的状态. ②用例: ③相关注释: load average表示负载,三个数值分别表示第1分钟,第5分钟,第10分钟 Cpu中us表示用户空间程序占用百分比,sy表示内核模式占用百分比,ni表示调整NICE值所占用的    CPU百分比,id表示CPU的空闲比例,wa表示等待磁盘IO完成所占用的时间比例,hi表示硬件中断占     据的百分比,si表示软中断所

Linux基础--进程管理相关命令介绍(1)

本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有pstree,ps. (1)pstree ①功能:用来查看进程树 ②用例: (2)ps ①功能:用来显示系统当前进程状态的命令 ②用例: ③相关用法: ps a:显示所有跟终端相关的进程 ps x:显示所有跟终端无关的进程 相关注释: STAT各代码含义: S:可中断的睡眠态 D:不可中断的睡眠态 R:运行或可运行 T:停止 Z:僵死 s:session leader l:多线程进程 +:前台进程 N:低优先级进程 <:高优先级进程

linux下查找进程及终止进程操作的相关命令

使用linux操作系统,难免遇到一些软件"卡壳"的问题,这时就需要使用linux下强大的kill命令来结束相关进程.这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号.首先,我们需要使用linux下另外一个命令ps查找与进程相关的PID号:ps aux | grep program_filter_word1)ps a 显示现行终端机下的所有程序,包括其他用户的程序.2)ps -A 显示所有程序.3)ps c 列出程序时,显示

Linux进程及作业管理相关命令

作为初学者,Linux永远是那么神秘,高大上的内容我也不会,所以在这里只能整理一下与管理相关的命令了,如果有不对的或不准确的地方,请指正. 可参考:Linux内核--进程管理与调度http://www.linuxidc.com/Linux/2014-08/105366.htm pstree:显示进程状态树 作用:列出当前的进程,以及它们的树状结构 用法:pstree [选项] -a: 显示执行程序的命令与完整参数 ps:查看系统中进程的状态 在/proc/目录中包含了进程和内核模拟生成的伪文件,