[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。

相关推荐
ALex_zry30 分钟前
Docker Compose运维技术实战分享:从安装到架构解析
运维·docker·架构
测试界的海飞丝4 小时前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
t198751284 小时前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu
skywalk81634 小时前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
@游子5 小时前
内网渗透笔记-Day5
运维·服务器
晚风吹人醒.5 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
记得记得就1515 小时前
【Nginx 性能优化与防盗链】
运维·nginx·性能优化
Yawesh_best5 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
V***u4535 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
roman_日积跬步-终至千里5 小时前
【Docker】Docker Stop 后到底发生了什么?——从信号机制到优雅停机
运维·docker·容器