监控和管理Linux进程

1、进程的6种状态

R:running,正在运行或正在运行队列中等待

S:sleeping,可中断的睡眠状态,一般指进程在等待某个事件的发生,而被挂起。如服务进程在没有连接时,就处于sleeping状态,等待有人来连接时候再被唤醒,节省资源。

D:不可中断进程

T:暂停或停止状态

Z:僵尸状态,不可被kill,即不响应任务信号,无法用SIGKILL杀死

X:退出状态,进程即将被销毁

2、ps命令

参数:

-A :所有的进程均显示出来,与 -e 具有同样的效用;

-a : 显示现行终端机下的所有进程,包括其他用户的进程;

-u :以用户为主的进程状态 ;

x :通常与 a 这个参数一起使用,可列出较完整信息。

输出格式规划:

l :较长、较详细的将该 PID 的的信息列出;

j :工作的格式 (jobs format)

-f :做一个更为完整的输出。

ps       --不带任何参数,仅查看当前shell中的进程

图1

ps -l    --可以查看当前终端进程的父进程,也就是echo $$查看到的bash进程

图2

ps -aux | more

-a:查看所有终端下的进程,还有和终端无关的进程显示不出来

-au:多了更多内容,但是还是针对所有终端的

ps -elf | more

-e:表示查看所有的进程

-l:表示一更详细的信息显示

-f:显示更完整

ps -axjf                --以树形结构列出进程间的关系

图3

ps -elf | grep sshd

图4
图5

cwd符号链接的是进程运行目录;

exe符号连接就是执行程序的绝对路径;

cmdline就是程序运行时输入的命令行命令;

environ记录了进程运行时的环境变量;

fd目录下是进程打开或使用的文件的符号连接。

yum install -y psmisc

pstree         --查看进程之间的父子关系

图6

pstree -Aup

-A:显示树形结构

-u:显示用户ID

-p:先后PID

图7

3、pgrep命令

通过程序名称来查询进程的工具,一般用来判断程序是否在运行。

-l:列出程序名和进程ID

-o:进程的起始ID;

-n:进程的终止ID;

图8

4、uptime命令

uptime命令能够打印系统总共运行时间和平均负载。显示的信息以此为:当前系统时间、系统运行总时长、目前登陆系统的用户数量、系统在过去1分钟、5分钟、15分钟的平均负载。

uptime -V                  --显示命令版本信息

uptime

图9

5、w命令

显示已经登录系统的用户列表

-h:不打印表头

-u:忽略执行程序的名称,以及该程序耗费CPU时间的信息

-s:简易输出

-f:显示用户从哪登录

-V:显示版本信息

图10

6、top命令

top -d 2 -n 3                    --每隔2秒刷新一次,总共3次

top -d 2 -n 3 -p PID         --查找固定进程的资源使用情况

图11

7、vmstat命令

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

常用命令展示

vmstat 3 3                                  --在3秒时间内进行3次采样

图12

字段说明:

procs(进程):

  r:运行队列中进程数量

  b:等待IO的进程数量

Memory(内存):

  swpd: 使用虚拟内存大小

  free: 可用内存大小

  buff: 用作缓冲的内存大小

  cache: 用作缓存的内存大小

Swap:

  si: 每秒从交换区写到内存的大小

  so: 每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

  bi: 每秒读取的块数

  bo: 每秒写入的块数

系统:

in: 每秒中断数,包括时钟中断。 【interrupt】

cs: 每秒上下文切换数。              【count/second】

CPU(以百分比表示):

  us: 用户进程执行时间(user time)

  sy: 系统进程执行时间(system time)

  id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

  wa: 等待IO时间

备注:

如果r经常大于4,id经常少于40,表示cpu的负荷很重。

如果bi,bo长期不等于0,表示内存不足。

如果disk经常不等于0,且在b中的队列大于3,表示io性能不好。

Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。

显示活跃和非活跃内存

vmstat -a 2 5   【-a 显示活跃和非活跃内存,所显示的内容除增加inact和active】

图13

显示从系统启动至今的fork数量

vmstat -f 【 linux下创建进程的系统调用是fork

图14

说明: 信息是从/proc/stat中的processes字段里取得的

查看内存使用的详细信息

vmstat -s   【显示内存相关统计信息及多种系统活动数量

图15

说明:这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat

查看磁盘的读/写

vmstat -d 【查看磁盘的读写】

图16

说明:这些信息主要来自于/proc/diskstats.

查看/dev/sda1磁盘的读/写

vmstat -p /dev/sda1 【显示指定磁盘分区统计信息

图17

说明:这些信息主要来自于/proc/diskstats.

reads:来自于这个分区的读的次数。

read sectors:来自于这个分区的读扇区的次数。

writes:来自于这个分区的写的次数。

requested writes:来自于这个分区的写请求次数。

查看系统的slab信息

vmstat -m

说明:这些信息主要来自于/proc/slabinfo

slab:由于内核会有许多小对象,这些对象构造销毁十分频繁,比如i-node,dentry,这些对象如果每次构建的时候就向内存要一个页(4kb),这样就会非常浪费,为了解决这个问题,就引入了一种新的机制来处理在同一个页框中如何分配小存储区,而slab可以对小对象进行分配,这样就不用为每一个对象分配页框,从而节省了空间,内核对一些小对象创建析构很频繁,slab对这些小对象进行缓冲,可以重复利用,减少内存分配次数。

8、查看进程路径

lsof -p 5684 -a -i 4

图18

9、进程的中断

图19

kill -信号 PID

通过ps命令查看job的进程号(PID),然后kill pid

图20

kill -信号 进程名称           --将名称匹配的进程全部杀掉


图21
图22

pkill 进程名称           --和killall一样,也可以向多个进程发送信号

踢掉test用户

图23

按用户匹配,并杀掉指定用户的进程

图24

信号0:检测进程是否存在,并不杀死进程。如killall -0 ping,如果什么都没输出,则表示有这个进程,否则提示没有这个进程。

图25

可用echo $?检测killall -0 ping命令是否执行成功,不支持进程名称作为通配符

图26

信号1:表示挂起,让这个进程重新加载配置文件,一般用于服务,用简称HUP代替”1“也可以。

比如修改httpd的配置文件,将端口改为8080

killall -1 httpd

lsof -i:80

lsof -i:8080

信号2:表示键盘中断,向前台的进程发送一个终止运行的信号,如:ctrl+c

信号3:表示键盘退出,和信号2的作用类似,但在杀死进程同时又将进程启动了。如ctrl+\

例:ping 127.0.0.1,此时给进程发送一个3信号,就掉了一个包;

信号9:表示中断,无法拦截,不能正常结束的进程,可用此信号强制杀掉;

killall -9 httpd,把httpd服务全部杀掉,此信号杀掉的进程难以再次启动,相当于直接关闭电源;

信号15:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容