揭秘Linux进程字段:系统监控必备知识
linux进程字段

首页 2025-01-02 11:53:49



Linux进程字段详解 在Linux操作系统中,进程是执行程序时分配的资源总称,是程序的一次动态执行过程

    了解进程的各个字段对于系统管理和性能调优至关重要

    本文将详细介绍Linux中常用的进程字段,以及如何通过相关命令查看和分析这些字段

     一、进程概述 进程是存放在磁盘上的指令和数据的有序集合(文件)在内存中的执行实例

    每个进程都有一个唯一的标识符(PID),以及与之相关的各种属性,如用户ID(UID)、优先级(PRI)、状态(STAT)等

    进程在其生命周期中会经历创建、调度、执行和消亡等多个状态

     二、查看进程信息的常用命令 在Linux系统中,有多个命令可以用来查看进程信息,其中`ps`、`top`和`/proc`文件系统是最常用的

     1.ps命令 `ps`命令用于显示当前系统中的进程快照信息

    常用的选项包括: -`psaux`:显示所有用户的所有进程

     -`ps -ef`:以完整格式显示所有进程的详细信息

     -`ps -l`:以长格式显示当前终端的进程信息,包含更多字段,如F(标志)、S(状态)、UID(用户ID)、PID(进程ID)、PPID(父进程ID)、C(CPU使用率)、PRI(优先级)、NI(Nice值)、ADDR(地址)、SZ(代码段大小)、WCHAN(等待的通道)、TTY(终端)、TIME(运行时间)、CMD(命令名)

     示例输出: FS UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0S 1000 2262 2250 0 80 0 - 800 wait pts/0 00:00:00 bash 0R 1000 2345 2262 0 120 0 - 800 - pts/0 00:00:00 ps 2.top命令 `top`命令用于实时动态地查看系统中各个进程的资源占用情况

    进入`top`界面后,可以看到类似如下的信息: top - 15:30:00 up 1 day, 2:15, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 140 total, 1 running, 139 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7786.4 total, 1278.6 free, 3288.2 used, 3219.6 buff/cache MiB Swap: 2048.0 total, 1942.0 free, 106.0 used. 2843.7 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1234 root 20 0 1234567 567890 123456 S 0.0 7.3 0:05.67 firefox 2345 daemon 20 0 234567 34567 45678 S 0.0 4.4 0:03.21 httpd 3456 nobody 20 0 345678 45678 56789 S 0.0 6.1 0:04.56 mysqld 其中,`PR`表示进程的优先级,`NI`表示Nice值,`VIRT`表示虚拟内存大小,`RES`表示物理内存大小,`SHR`表示共享内存大小,`S`表示进程状态,`%CPU`表示CPU使用率,`%MEM`表示内存使用率

     3./proc文件系统 `/proc`目录是Linux系统中的一种伪文件系统,存储的是当前内核运行状态的一系列特殊文件

    用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态

     例如,`/proc/N/`目录下存储的是进程号N的相关信息,可以使用`cat`、`more`、`less`等命令查看这些文件的内容

     三、进程字段详解 1.PID(进程ID) 每个进程都有一个唯一的标识符,称为进程ID(PID)

    它是区分不同进程的唯一标准

     2.PPID(父进程ID) 每个进程都是由另一个进程创建的,创建它的进程称为父进程,其ID称为父进程ID(PPID)

     3.UID(用户ID) 进程属于某个用户,该用户的ID称为用户ID(UID)

     4.PRI(优先级) 进程的优先级(PRI)决定了它在系统中的调度顺序

    PRI值越低,优先级越高

    系统会根据优先级来分配CPU资源

     5.NI(Nice值) Nice值是用户调整进程优先级的修正数据

    范围是-20到19

    加入Nice值后,会使得PRI变为:PRI(new)=PRI(old)+nice

    加入正数Nice值会降低进程优先级,加入负数Nice值会提高进程优先级

     6.STAT(状态) 进程的状态(STAT)表示当前进程的运行状态

    常见的状态包括: - S:休眠状态,可以发送信号唤醒

     - R:运行状态

     - D:不可中断的睡眠状态

     - T:停止状态

     - Z:僵尸状态,表示进程已经结束,但其父进程尚未回收其资源

     7.%CPU和%MEM `%CPU`表示进程占用的CPU资源百分比,`%MEM`表示进程占用的内存资源百分比

    这两个字段可以帮助用户了解进程的资源占用情况

     8.VSZ和RSS VSZ表示进程占用的虚拟内存容量,单位是KB

    RSS表示进程实际占用的物理内存容量

    这两个字段提供了进程内存使用情况的详细信息

     9.TTY(终端) TTY字段表示进程运行的终端

    如果进程没有绑定到终端,则显示为`?`

     10. TIME(运行时间) TIME字段表示进程自启动以来占用的CPU时间,包括用户态时间、系统态时间和空闲时间等

     11. CMD(命令名) CMD字段表示启动进程的命令名或命令行

    通过该字段,用户可以了解进程的启动方式和参数

     四、总结 了解Linux进程字段是系统管理和性能调优的基础

    通过`ps`、`top`和`/proc`文件系统等命令和工具,用户可以方便地查看和分析系统中各个进程的详细信息

    这些字段提供了关于进程状态、资源占用、优先级等方面的全面信息,有助于用户及时发现和解决系统中的问题

    

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道