Linux 系统管理——进程管理

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

进程管理的作用

  • 判断服务器健康状态
  • 查看系统中所有进程
  • 杀死进程

进程的查看--ps和pstree命令

ps

# 查看系统中所有进程,使用BSD操作系统格式
ps aux
选项:
a:显示一个终端的所有进程,除了会话引线
u:显示进程的归属用户及内存的使用情况
x:显示没有控制终端的进程

# 查看系统中所有进程,使用Linux标准命令格式
ps -le
选项:
-l:长格式显示。显示更加详细的信息
-e:显示所有进程,和-a作用一致

ps命令的输出

USER:该进程是由哪个用户产生的;
PID:进程的ID号;
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端(现在不止256个)。?表示内核启动的
STAT:进程状态。常见的状态有R运行,S睡眠,T停止状态,s包含子进程,+位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名

pstree

# 查看进程树
pstree [选项]
选项:
-p 显示进程的PID
-u 显示进程的所属用户

查看系统健康状态--top命令

top [选项]
选项:
-d 秒数:指定topminglmeige几秒更新。默认是3秒
-b 使用批处理模式输出,一般和-n选项合用
-n 次数:指定top命令执行的次数。一般和-b选项合用

在top命令的交互模式当中可以执行的命令:
?或h 显示交互模式的帮助
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top

显示的前五行:

top - 13:51:04 up  4:26,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 360 total,   1 running, 359 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1001360 total,   578868 free,   210904 used,   211588 buff/cache
KiB Swap:  2098172 total,  2098172 free,        0 used.   615456 avail Mem 

第一行信息为任务队列信息

内容 说明
13:51:04 系统当前时间
up 4:26 系统的运行时间,本机一运行4小时26分
1 user 当前登陆了一个用户
load average:0.00,0.01,0.05 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1*核数(单核1双核2四核4)时,负载较小。

第二行信息为进程信息

内容 说明
Tasks: 360 total 系统中的进程总数
1 running 正在运行的进程树
359 sleeping 睡眠的进程
0 stopped 正在停止的进程
0 zombie 僵尸进程。如果不是0,需要手工检查僵尸进程

第三行信息为CPU信息

内容 说明
0.2 us 用户模式占用的CPU百分比
0.2 sy 系统模式占用的CPU百分比
0.0 ni 改变过优先级的用户进程占用的CPU百分比
99.7 id 空闲CPU的CPU百分比
0.0 wa 等待输入/输出的进程的占用CPU百分比
0.0 hi 硬终端请求服务占用的CPU百分比
0.0 si 软终端请求服务占用的CPU百分比
0.0 st Steak time虚拟时间百分比。就是当有虚拟机是,虚拟CPU等待实际CPU的时间辈分比。

第四行信息为内存信息

内容 说明
1001360 total 物理内存的总量
578868 free 空闲的物理内存数量
210904 used 已经使用的物理内存适量
211588 buff/cache 作为缓冲缓存的内存数量

第五行信息为交换分区swap信息

内容 说明
2098172 total 交换分区的总大小
2098172 free 空闲交换分区的大小
0 used 已经使用的交换分区的大小

补充缓冲buffer用来加速数据从硬盘中“读取”,缓存cache用来数据“写入”硬盘

# 使用top查看所有进程
top -b -n 1 > /root/top/log

杀死进程

kill

# 杀死进程
kill [信号] 进程号 (默认信号为15)
# 平滑重启进程
kill -HUP 进程号 (或者kill -1 进程号) # 只能杀死重启一个进程
# 强制杀死进程
kill -9 进程号
# 查看可用的进程信号
kill -l

列表如下:

kill -l

常用信号:

常用信号

killall

# 按照进程名杀死进程
killall [选项] [信号] 进程名
选项:
-i 交互式,询问是否要杀死某个进程
-I 忽略进程名的大小写

pkill命令

# 按照进程名杀死进程
pkill [选项] [信号] 进程名
选项:
-t 终端号    按照终端号踢出用户

示例:
# 强制杀死从xxx终端登录的进程
pkill -9 -t tty1
pkill -9 -t pts/1

修改进程优先级

Linux操作系统是一个多用户、多任务的操作系统,Linux系统中同时运行着非常多的进程。但是CPU在同一个时钟周期内只能运算一个指令。进程优先级决定了每个进程处理的先后顺序。

ps -le中的 PRI代表Priority,NI代表Nice。这两个值都是优先级,数字越小代表该进程优先级越高。用户只能修改NI值,不能修改PRI值。

修改NI值时的注意事项:

  • NI的值范围是-20到19
  • 普通喻户调整NI值的范围是0-19,而且只能调整自己的进程
  • 普通用户只能调高NI值,而不能降低,如原本NI值为0,则只能调整为大于0
  • root用户才能设定进程NI值为负值,而且可以调整任何用户的进程。
  • PRI(最终值)=PRI(原始值)+NI
  • 用户只能修改NI的值,不能直接修改PRI

nice

# nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在的进程的NI值
nice [选项] 命令
选项:
-n NI值,给命令赋予NI值
例:nice -n -5 service httpd start

renice

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

推荐阅读更多精彩内容

  • 一个程序被加载到内存当中运行,那么在内存内的那个数据就被称为进程(process)。进程是操作系统上非常重要的概念...
    Zhang21阅读 1,916评论 0 12
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,702评论 0 10
  • 进程相关概念 内核的功能 进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等。 process 进程,正...
    夹克K阅读 987评论 0 1
  • 然而,小玲的一声“开饭了”却打破了这种渴望已久的浪漫,我顿时推开他的身体,双眼交汇时一种无可奈何的尴尬。 晚饭在一...
    荤事素侃阅读 471评论 3 4
  • 什么是数组 数组的定义 •vararr=new Array(1,2,3); •vararr=[1,2,3]; •区...
    fa54021d36e2阅读 463评论 0 0