Linux进程相关

1. 进程管理事例情况

  • 当一个程序编写得不完善,导致在内存中产生一个有问题的进程时,需要找到此进程并移除(kill)

  • 当同时有多个任务在系统中运行,需要其中最重要的一项优先执行(priority/nice)

  • 当系统比较忙碌,整个系统资源快要使用殆尽时,需要找出最耗资源的那个进程,并移除,使得系统恢复正常

2.进程的观察

2.1 ps

ps.png

作用:获取系统某个时间点的进程运行情况。

2.1.1 ps -l

查看当前用户的bash进程

ps-l.png

相关字段说明

  • F :process flags 进程旗标,说明这个进程的总结权限,常见号码有

  • 4:表示此进程的权限为 root;

  • 1:表示此子进程仅进行复制(fork)而没有实际执行(exec);

fork_exec.png
  • S:代表这个进程的状态 (STAT),主要的状态有:

    • R(Running):该程序正在运作中;
    • S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal);
    • D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>打印)
    • T :停止状态(stop),可能是在工作控制(背景暂停)或除错 (traced) 状态;
    • Z (Zombie):僵尸状态,进程已经终止但却无法被移除至内存外。
  • UID/PID/PPID: 此进程被该UID所拥有/进程的PID码/此进程的父进程 PID码;

  • C:代表 CPU 使用率,单位为百分比;

  • PRI/NI:Priority/Nice,代表此进程被 CPU 所执行的优先级,数值越小代表该进程越快被 CPU 执行;

  • ADDR/SZ/WCHAN:都与内存有关,ADDR是kernel function,指出该进程在内存的哪个部分,如果是个 running 的进程,一般就会显示『 - 』 / SZ 代表此进程用掉多少内存 / WCHAN 表示目前进程是否运作中,若为 - 表示正在运作中;

  • TTY:登入者的终端机位置,若为远程登录则使用动态终端接口 (pts/n);

  • TIME:进程实际花费 CPU 运作的时间(不是系统时间);

  • CMD:command,造成此进程的触发程序指令;

2.1.2 ps aux

查看系统所有运作的进程

psaux.png

相关字段说明

  • VSZ :该 process 使用掉的虚拟内存量 (Kbytes);

  • RSS :该 process 占用的固定的内存量 (Kbytes);

  • TTY :该 process 是在那个终端机上面运作,若与终端机无关则显示 ?;

另:ps aux 默认以PID 升序显示。

2.2 top

持续获取系统的进程运行情况。

相关参数说明

  • d :后面可以接秒数,就是整个进程画面更新的秒数。预设是 5 秒;

  • b :以批次的方式执行top,通常会搭配数据流重导向来将批次的结果输出成为文件;

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

  • p :指定观察监测某个 PID;

top.png

2.2.1 top 内容

第一部分:

  • Line_1:目前的时间, 开机到目前为止所经过的时间,已经登入系统的用户人数,系统在 1, 5, 15 分钟的平均工作负载(越小代表系统越闲置,若高于1,则说明系统进程有些过繁复);

  • Line_2:目前进程的总量,在各个状态(running, sleeping, stopped, zombie)的进程数;

  • Line_3:cpu的整体负载情况,如果是多核心的设备,可以按下数字键『1』来切换成不同 CPU 的负载率;

  • Line_4:物理内存的使用情况;

  • Line_5:虚拟内存的使用情况,如果 swap 被用的很大量,表示系统的物理内存实在不足;

  • Line_6:当在 top 程序当中输入指令时,显示状态的地方;

第二部分为各个进程的使用情况。

2.2.2 top执行时的按键指令

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

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

  • M :以 Memory 的使用资源排序显示;

  • N :以 PID 来排序显示;

  • T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序;

  • k :给予某个 PID 一个讯号 (signal) ;

  • r :给予某个 PID 重新制订一个 nice 值;

  • q :离开 top 软件的按键;

2.2.3 将某时段top观察到的结果写入指定文件

top2.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。