1
头图

进程查看

  • 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 开机停止服务


eacape
205 声望8 粉丝

JAVA 攻城狮