[Linux] ps命令详解

ps命令

ps命令用于显示当前系统中的进程状态信息。以下是ps命令的一些常见参数及其作用:

  1. ps命令的基本形式:

    复制代码
    ps

    这将显示当前用户自己的运行中的进程的快照。

  2. 参数选项:

    -a: 显示所有进程,包括其他用户的进程。

    -u: 显示与用户相关的详细输出。

    -x: 显示没有控制终端的进程。

    -e: 显示所有进程,同-A

    -f: 显示完整格式的输出。

    -l: 显示长格式的输出。

  3. 示例输出:

    复制代码
    $ ps -aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.1 225600 15568 ?        Ss   Dec11   0:04 /sbin/init splash
    root         2  0.0  0.0      0     0 ?        S    Dec11   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        I<   Dec11   0:00 [rcu_gp]
    ...

在示例输出中,每一列代表的含义如下:

  • USER:进程所属用户;
  • PID:进程ID;
  • %CPU:进程占用CPU的使用百分比;
  • %MEM:进程占用物理内存的使用百分比;
  • VSZ:进程使用的虚拟内存大小(单位为KB);
  • RSS:进程占用的实际物理内存大小(单位为KB);
  • TTY:进程所属的终端设备,如果没有则显示?
  • STAT:进程状态,常见的有S(休眠), R(运行), T(停止);
  • START:进程启动时间;
  • TIME:进程占用CPU的累计时间;
  • COMMAND:进程命令名。

TIME列

TIME列显示的是该进程已经运行的时间。它包含两个值,分别是CPU时间(CPU time)和墙钟时间(Wall clock time)。

  • CPU时间

    指的是进程在CPU上实际执行的时间。它包括该进程使用用户态CPU的时间(User Time)和系统态CPU的时间(System Time)。用户态CPU时间是进程在用户空间执行代码的时间,而系统态CPU时间是进程在内核空间执行系统调用和处理中断的时间。这两个时间加在一起就是CPU时间。

  • 墙钟时间

    是指进程从启动到现在所经过的时间,也称为实际时间。它是指进程在真实世界中运行的时间,包括了进程在运行过程中的等待时间、阻塞时间等。

在ps aux命令的输出中,TIME列显示的是CPU时间,以[天-小时:分钟:秒]的格式表示。

例如,如果一个进程的TIME值为01-10:30:45,

表示该进程已经在CPU上执行了1天、10小时、30分钟和45秒。

需要注意的是,TIME列并不是实时更新的,它只显示进程启动后的CPU时间。如果进程启动后没有实际执行任何代码,TIME值可能会很小或者为0。

相关推荐
Tim风声(网络工程师)3 小时前
排查内网互联网访问流程
运维·服务器·网络
坚持就完事了3 小时前
Linux中如何添加环境变量
linux·运维·服务器
AC赳赳老秦4 小时前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
l1t4 小时前
mingw和Linux中的gcc和llvm编译器编译的pocketpy执行同一个python脚本的不同效果
linux·运维·python
ITyunwei09875 小时前
团队管理与人才发展:如何打造一支“召之即来,来之能战”的铁军?
大数据·运维·人工智能
白緢5 小时前
一、Linux 基础入门
linux·运维·服务器
Deepoch5 小时前
面向工业现场自主运维:Deepoc 具身模型开发板的端侧智能升级路径
运维·人工智能·科技·巡检机器人·deepoc
菜菜艾5 小时前
自动化环境补丁更新系统
linux·运维·bash·运维开发
江上清风山间明月6 小时前
Nginx基于域名区分的多网站部署
运维·nginx·部署·php·多个网站
随风,奔跑6 小时前
Nginx
服务器·后端·nginx·web