美文网首页
Linux进程相关

Linux进程相关

作者: Anan_楠 | 来源:发表于2019-08-08 16:20 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Linux进程相关

          本文链接:https://www.haomeiwen.com/subject/xhgxjctx.html