Linux进程与磁盘管理命令的结果解释
2019-12-06 本文已影响0人
p1uxtar
进程管理
ps
一直都很困惑为什么有时候ps命令后边的参数加-,有时候不加。比如ps -ef和ps aux到底什么区别?
今天终于找到了对于ps命令的详细解释。每个参数的具体意义就不列出了,大部分也不怎么用,主要列一下输出结果的解释。
因为ps曾经有着不同的版本,所以也就有了3种不同类型的参数,待我一一道来:
Unix-like
Unix风格参数从AT&T而来,常用的ps -ef就是这个系列的。在结果中,包含了进程信息:
| 意义 | |
|---|---|
| UID | 启动进程的用户 |
| PID | 进程的进程ID |
| PPID | 父进程的进程号 |
| C | 进程生命周期中的CPU利用率 |
| STIME | 进程启动时的系统时间 |
| TTY | 进程启动时的终端设备 |
| TIME | 运行进程需要的累计CPU时间 |
| CMD | 启动的程序名称 |
加参数-l之后,会有更多信息:
| 意义 | |
|---|---|
| F | 内核分配给进程的系统标记 |
| S | 进程的状态 |
| PRI | 进程优先级(数字越大优先级越低) |
| NI | 谦让度值用来参与决定优先级 |
| ADDR | 进程的内存地址 |
| SZ | 如进程被换出,所需交换空间的大致大小 |
| WCHAN | 进程休眠的内核函数地址 |
其中,S列(进程的状态)具体意义是:
| S列 | 意义 |
|---|---|
| O | 正在运行 |
| S | 在休眠 |
| R | 可运行,正等待 |
| Z | 僵化进程,已结束,但父进程已不存在 |
| T | 停止 |
BSD-like
来自于伯克利,输出结果有一小部分不同:
| 意义 | |
|---|---|
| VSZ | 进程在内存中的大小,以千字节KB为单位 |
| RSS | 进程在未换出时占用的物理内存 |
| STAT | 代表当前进程状态的双字符状态码。 |
其中,STAT列的第一个字符与Unix风格的S列相同,后面的参数进一步说明进程状态:
| STAT(从第二列开始) | 意义 |
|---|---|
| < | 该进程运行在高优先级 |
| N | 运行在低优先级 |
| L | 有页面锁定在内存中 |
| s | 是控制进程 |
| l | 多线程 |
| + | 运行在前台 |
GNU-like
就是加两个-的参数,最有特色的是--forest,可以显示进程的层级信息。
top 实时监测进程
输出结果中上边显示的是系统概况,第二行的Tasks指的就是进程。下半部分就是进程的详细信息:
| 意义 | |
|---|---|
| PID | 进程的ID |
| USER | 属主 |
| PR | 优先级 |
| NI | 谦让度 |
| VIRT | 进程占用虚拟内存总量 |
| RES | 进程占用物理内存总量 |
| SHR | 和其他进程共享内存总量 |
| S | 进程状态 |
| TIME+ | 自启动开始的CPU时间总量 |
| COMMAND | 进程对应的命令名 |
磁盘空间
df
查看磁盘的使用情况,一般就alias df='df -h'了,即以易读的形式显示。
du
具体到某一个文件夹,可以用du命令,需要明确几个参数:
| 参数 | 意义 |
|---|---|
| -c | 显示所有已列出文件总大小(列出每个文件和total); |
| -h | 易读方式列数; |
| -s | 显示每个输出参数的总计(不列出子文件夹)。 |