合一贝网络合一贝网络
首页
案例
新闻
  • Linux
  • VueJs
  • .netcore
  • mysql
  • sqlserver
  • redis
  • 思利康
  • Acro Designe
  • vue3demo
关于
首页
案例
新闻
  • Linux
  • VueJs
  • .netcore
  • mysql
  • sqlserver
  • redis
  • 思利康
  • Acro Designe
  • vue3demo
关于
  • Linux

    • 1.1.1 Linux目录结构
    • 1.2.1 命令结构说明
    • 1.3.1 必备命令
    • 1.3.2 必备命令-sort
    • 1.4.1 用户权限管理
    • 1.5.1 信息查看
    • 1.6.1 参数调优-ulimit
    • 1.7.1 性能监看-free
    • 1.7.2 性能监看-ps
    • 1.7.3 性能监看-top

ps 命令详解

查看系统进程,比如正在运行的进程有哪些,什么时候开始运行的,哪个用户运行的,占用了多少资源。 ps 的英文全称是 process status,意思是进程状态。

常用操作

  • 1、查看所有进程(连带命令行)
  • 2、显示所有包含其他使用者的进程
  • 3、查看指定进程(grep过滤)
  • 4、查看CPU/内存占用率最高的进程
  • 5、查看指定用户的进程
  • 6、分页查看进程

参数

  • -e 显示所有进程
  • -f 显示所有字段(UID,PPIP,C,STIME字段)
  • -a 显示一个终端的所有进程
  • -u 显示当前用户进程和内存使用情况
  • -x 显示没有控制终端的进程
  • –sort 按照列名排序

1. 查看所有进程(连带命令行)

root@local:~# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 Jun21 ?        00:00:02 /sbin/init maybe-ubiquity
root           2       0  0 Jun21 ?        00:00:00 [kthreadd]
root           3       2  0 Jun21 ?        00:00:00 [rcu_gp]
...

字段解释:

  • UID:用户ID,即进程的拥有者
  • PID:进程ID
  • PPID:父进程ID
  • C:进程占用的CPU百分比
  • STIME:进程开始启动时间
  • TTY:登入者的终端机位置
  • TIME:进程使用的CPU(运算)时间
  • CMD:调用进程的命令

2. 显示所有包含其他使用者的进程

root@local:~# ps -aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0 167620 11252 ?        Ss   Jun21   0:02 /sbin/init maybe-ubiquity
root           2  0.0  0.0      0     0 ?        S    Jun21   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   Jun21   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   Jun21   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   Jun21   0:00 [kworker/0:0H-kblockd]
...

1) 字段解释:

  • USER:创建进程的用户
  • PID:进程ID
  • %CPU:进程占用CPU的百分比
  • %MEM:进程占用物理内存的百分比
  • VSZ:进程占用虚拟内存的大小(单位KB)
  • RSS:进程占用实际物理内存的大小(单位KB)
  • TTY:进程在哪个终端运行。
  • STAT:进程状态
  • START:进程开始启动的时间
  • TIME:进程使用的CPU(运算)时间
  • COMMAND:调用进程的命令

2) 其中STAT状态位常见的状态字符有

  • D 无法中断的休眠状态(通常 IO 的进程);
  • R 正在运行可中在队列中可过行的;
  • S 处于休眠状态;
  • T 停止或被追踪;
  • W 进入内存交换 (从内核2.6开始无效);
  • X 死掉的进程 (基本很少见);
  • Z 僵尸进程;
  • < 优先级高的进程
  • N 优先级较低的进程
  • L 有些页被锁进内存;
  • s 进程的领导者(在它之下有子进程);
  • l 多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads)
  • 位于后台的进程组;

3. 查看指定进程(grep过滤)

root@local:~# ps -aux |grep mysql
mysql       1166 10.1 74.2 57770816 48919616 ?   Ssl  Jun21 109:06 /usr/sbin/mysqld
root       32667  0.0  0.0   6432   724 pts/1    S+   07:24   0:00 grep --color=auto mysql

4. 查看CPU占用率最高的前10个进程

root@local:~# ps -aux --sort=-%cpu | head -11
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql       1166 10.1 74.2 57770816 48926216 ?   Ssl  Jun21 109:31 /usr/sbin/mysqld
root           1  0.0  0.0 167620 11252 ?        Ss   Jun21   0:02 /sbin/init maybe-ubiquity
root           2  0.0  0.0      0     0 ?        S    Jun21   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   Jun21   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   Jun21   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   Jun21   0:00 [kworker/0:0H-kblockd]
root           8  0.0  0.0      0     0 ?        I<   Jun21   0:00 [mm_percpu_wq]
root           9  0.0  0.0      0     0 ?        S    Jun21   0:00 [ksoftirqd/0]
root          10  0.0  0.0      0     0 ?        I    Jun21   0:11 [rcu_sched]


标题也算一行,所以是head -11

5. 查看内存占用率最高的前10个进程

root@local:~# ps -aux --sort=-%mem | head -11
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql       1166 10.1 74.2 57770816 48926480 ?   Ssl  Jun21 109:37 /usr/sbin/mysqld
root         567  0.0  0.0 231524 63384 ?        S<s  Jun21   0:08 /lib/systemd/systemd-journald
root         964  0.0  0.0 1540388 40224 ?       Ssl  Jun21   0:18 /usr/lib/snapd/snapd
root         819  0.0  0.0 345880 18272 ?        SLsl Jun21   0:15 /sbin/multipathd -d -s
root        1025  0.0  0.0 107892 16828 ?        Ssl  Jun21   0:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
systemd+     934  0.0  0.0  27320 16328 ?        Ss   Jun21   0:03 /lib/systemd/systemd-resolved
root         958  0.0  0.0  29644 14520 ?        Ss   Jun21   0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root         973  0.0  0.0 392688 12096 ?        Ssl  Jun21   0:00 /usr/lib/udisks2/udisksd
root           1  0.0  0.0 167620 11252 ?        Ss   Jun21   0:02 /sbin/init maybe-ubiquity



6. 分页查看进程 配合 | more

root@local:~# ps -aux --sort=-%mem | more

Last Updated:
Contributors: Think