Linux进程管理

        程序被触发后,运行者的权限与属性、程序的代码与所需数据等都会被加载内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在运行中的程序。

ps命令

ps命令可以查看进程信息,它可以确定有哪些进程正在运行以及进程运行的状态、进程是否结束,进程有没有僵死,哪些进程占用了过多的资源。

命令语法:ps [选项]  

        命令中[选项]的含义:

-a:显示所有用户进程

-e:显示进程环境变量

-l:给出详细信息的列表

-r:只显示正在运行的进程

-S:增加CPU时间和页面出错的信息

-w:按宽格式显示输出

-u:打印用户格式,显示用户名和进程的起始时间

-x:显示不带控制终端的进程

查看指定程序是否运行(如less程序):ps -aux | grep less

        ps命令输出字段的含义

USER:该进程属于哪个用户账号

PID :进程号,可以唯一标识该进程

%CPU:该进程使用掉的 CPU 资源百分比;

%MEM:该进程所占用的物理内存百分比;

VSZ :该进程使用的虚拟内存大小,以KB为单位

RSS :该进程占用的物理内存的总数量,以KB为单位

TTY :该进程是在那个终端机上面运行,若与终端机无关则显示 ?,另外, tty1-tty6 是本机上面的登陆者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT:该程序目前的状态

        R (Running):该程序正在运行中;

        S (Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。

        D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况

        T :停止状态(stop),可能是在工作控制(背景暂停)或除错 (traced) 状态;

        Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。

START:该进程开始运行的时间

TIME :该进程实际使用的总CPU时间。

COMMAND:被执行的命令行

top命令

top命令可以显示当前正在运行的进程以及关于它们的重要信息,是持续监测进程运行状态。而ps命令是选取一个时间点的进程状态。

命令语法:top [-d 数字] [-bnp]

        命令中部分[选项]的含义:

-d:后面可以接秒数,就是整个进程界面更新的秒数。默认是5秒。

-b:以批次的方式运行 top ,还有更多的参数可以使用

    通常会搭配输出重定向来将批处理的结果输出成为文件。

-n:与 -b 搭配,意义是,需要进行几次 top 的输出结果。

-p:指定某些个 PID 来进行观察监测而已。

 

        在 top 运行过程当中可以使用的按键命令:

?:显示在 top 当中可以输入的按键命令

P:以 CPU 的使用资源排序显示

M:以内存的使用资源排序显示

N:以 PID 来排序

T:由该进程使用的 CPU 时间累积 (TIME+) 排序

k:给予某个 PID 一个信号 (signal)

r:给予某个 PID 重新制定一个 nice 值

q:离开 top 软件的按键

 top命令输出结果解析

91371cab2eac4b999fed2a3f35035198.png
 第一部分是前6行,是系统整体的统计信息
第二部分是进程信息

第一行:

 

  • top:当前时间
  • up:机器运行了多长时间
  • users:当前登录用户数
  • load average:系统负载,在一段时间内,CPU正在处理以及等待CPU处理的进程数之和,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

第二行

  • Tasks:当前有多少进程
  • running:正在运行的进程数
  • sleeping:正在休眠的进程数
  • stopped:停止的进程数
  • zombie:僵尸进程数

 running进程越大,系统负载越多

zombie僵尸进程尽量不要有

第三行 

us:用户空间占CPU的百分比(像shell程序、各种语言的编译器、各种应用、web服务器和各种桌面应用都算是运行在用户地址空间的进程,这些程序如果不是处于idle状态,那么绝大多数的CPU时间都是运行在用户态)
sy: 内核空间占CPU的百分比(所有进程要使用的系统资源都是由Linux内核处理的,对于操作系统的设计来说,消耗在内核态的时间应该是越少越好,在实践中有一类典型的情况会使sy变大,那就是大量的IO操作,因此在调查IO相关的问题时需要着重关注它)
ni:用户进程空间改变过优先级(ni是nice的缩写,可以通过nice值调整进程用户态的优先级,这里显示的ni表示调整过nice值的进程消耗掉的CPU时间,如果系统中没有进程被调整过nice值,那么ni就显示为0)
id: 空闲CPU占用率
wa: 等待输入输出的CPU时间百分比(和CPU的处理速度相比,磁盘IO操作是非常慢的,有很多这样的操作,比如,CPU在启动一个磁盘读写操作后,需要等待磁盘读写操作的结果。在磁盘读写操作完成前,CPU只能处于空闲状态。Linux系统在计算系统平均负载时会把CPU等待IO操作的时间也计算进去,所以在我们看到系统平均负载过高时,可以通过wa来判断系统的性能瓶颈是不是过多的IO操作造成的)
hi: 硬中断占用百分比(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息,当CPU收到中断消息后需要进行适当的处理(消耗CPU时间)。)
si:软中断占用百分比(软中断是由程序发出的中断,最终也会执行相应的处理程序,消耗CPU时间)
https://blog.csdn.net/langzi6/article/details/124805024

第四行与第五行:

表示目前的物理内存与虚拟内存 (Mem/Swap) 的使用情况。要注意的是 swap 的使用量要尽量的少!如果 swap 被大量使用,表示系统的物理内存实在不足!

第六行:

当在 top 程序当中输入命令时,显示状态的地方。(一般看不到)

进程信息 

PID        进程id
USER    进程所有者的用户名
PR         优先级
NI           nice值,负值表示高优先级,正值表示低优先级
VIRT      进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES       进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR      共享内存大小,单位kb
S           进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU     上次更新到现在的CPU时间占用百分比
%MEM    进程使用的物理内存百分比
TIME+     进程使用的CPU时间总计,单位1/100秒
COMMAND    命令名/命令行
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光的璃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值