关于linux:Linux进程管理

53次阅读

共计 2473 个字符,预计需要花费 7 分钟才能阅读完成。

过程查看

  • ps aux
    psprocess status 的缩写, 也就是过程状态的意思.
    参数信息

    • a:all显示所用过程, 不仅显示以后用户启动的过程
    • u: 以 user 为主的格局输入过程信息
    • x: 显示以后用户所有终端下的过程
      返回信息

      USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
      root         1  0.0  0.2  44672  3864 ?        Ss   1 月 15   0:02 /usr/lib/syste
      root         2  0.0  0.0      0     0 ?        S    1 月 15   0:00 [kthreadd]
      root         4  0.0  0.0      0     0 ?        S<   1 月 15   0:00 [kworker/0:0H]
      
  • USER 启动该过程的用户
  • PID 过程号
  • %CPU cpu 占有率(%)
  • %MEM 内存占有率(%)
  • VSZ 占用虚拟内存 (swap 空间) 的大小
  • RSS 占用常驻内存 (物理内存) 的大小
  • TTY 过程在哪个终端上运行,?代表未知或不须要终端
  • STAT 示意过程状态

    • S 睡眠
    • R 运行
    • Z 僵死
    • < 高优先级
    • N 低优先级
    • s 父过程
    • + 前台过程
  • START 过程开始的工夫
  • TIME 过程执行了多长时间
  • COMMAND 启动该过程的命令
  • ps ef
    参数信息

    • e: 显示零碎内所有过程的信息
    • f:full应用残缺格局显示过程信息
      显示信息
      根本与aux 相似
  • top
    显示信息

    top - 01:25:39 up  5:25,  4 users,  load average: 0.03, 0.06, 0.07
    Tasks: 101 total,   4 running,  97 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  1.3 us,  1.7 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1882012 total,   404536 free,   199104 used,  1278372 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  1486184 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND   
     1056 root      20   0   51136   1112    772 R  0.7  0.1   2:33.37 rshim        
        1 root      20   0   44672   3864   2444 S  0.0  0.2   0:02.64 systemd 
    • 第一行, 工作队列信息, 和 uptime 命令执行的后果雷同

      零碎工夫: 01:25:39

      运行工夫: up 5:25

      以后登录用户: 4 users

      负载平衡: load average: 0.03, 0.06, 0.07 三个数字别离示意 1 分钟 5 分钟 15 分钟的负载

    • 第二行, 工作

      Tasks: 101 total, 4 running, 97 sleeping, 0 stopped, 0 zombie 总过程:101 运行:4 休眠:97 进行:0 僵尸过程:0

    • 第三行,cpu 占有率

      %Cpu(s): 1.3 us, 1.7 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

      • us – 用户空间(user space):1.3%
      • sy – 内核空间(sysctl):1.7%
      • ni – 扭转过优先级的过程(nice):0.0%
      • id – 闲暇 cpu(idol):97.0%
      • wa – io 期待(wait):0.0%
      • hi – 硬中断占用(Hardware IRQ):0.0%
      • si – 软中断占用(Software Interrupts):0.0%
    • 第四行, 内存状态

      KiB Mem : 1882012 total, 404536 free, 199104 used, 1278372 buff/cache 总内存量 = 闲暇内存 + 被应用内存 + 缓存的内存量

    • 第五行,swap 替换分区信息

      KiB Swap: 0 total, 0 free, 0 used. 1486184 avail Mem

      linux为了进步读写效率和速度, 会将文件在内存中进行缓存, 这一部分就是缓存内存 cache memory, 即便你的程序运行完结后这部分内存也不会被开释, 这就导致你的linux 零碎中程序频繁读写文件后, 可用物理内存变少, 当变少到物理内存不够用时, 就须要物理内存释放出来一部分空间, 这部分被释放出来的空间信息会临时被保留在 swap 空间当中, 等到程序要运行须要这部分数据时, 再从 Swap 分区中将其复原到内存当中, 所以当 Swapused值在频繁变动时, 就阐明此时, 零碎的物理内存不够用了.

      • 第六行, 字段含意与 ps aux 根本类似
        top -p 过程 pid 能够只看对应pid 的过程信息

    过程管制

    过程优先级管制

    nice -n 10 XXX: 将 xxx 过程启动时应用 nice 命令能够设置它的优先级为 10, 这个数值的范畴是 (-20~19), 数值越小, 优先级越高.
    renice -n -20 17265: 将pid = 17265 的过程的优先级从新设置为-20

    过程作业控制

    ./xxx.sh & 将要启动的过程, 后盾运行.
    jobs 能够查看后盾运行的过程.

    [2]+ 运行中 nice -n 10 ./minio server /data/minio.data/ &

    fg 2 : fg + jobs 编号 将过程提到前台.
    ctrl + z : 将过程变为进行状态.
    bg 2 : bg + jobs 编号 后盾运行这个程序.

    服务管理工具

    servicesystemctlLinux治理服务的两种形式.

  • service实际上是去 /etc/init.d 目录上来执行相干程序

    service redis start
    等同于
    /etc/init.d/redis start
    

    service xxx start 开启服务

    service xxx stop 敞开服务

    service xxx restart 重启服务

    service xxx status 查看服务状态

  • systemctlLinux 最新的初始化零碎 init, 作用是进步零碎的启动速度,systemctl 也兼容 service 命令, 即 systemctl 也会到 init.d 目录上来执行相干程序.

    systemctl start xxx开启服务

    systemctl stop xxx 敞开服务

    systemctl restart xxx 重启服务

    systemctl status xxx 查看服务状态

    systemctl reload xxx 从新加载服务

    systemctl enable xxx 开机启动服务

    systemctl disable xxx 开机进行服务

正文完
 0