Linux 简单调优 —— Top 命令

首先本篇 核心是 top 命令的 讲解,也会讲一些其他命令

首先,要了解一些 常用命令

我是谁
whoami

我在哪
pwd

(任务管理器)
top

top

第一行的内容:

  • 当前时间
  • 系统已运行的时间
  • 当前登录用户的数量
  • load average :相应最近5、10和15分钟内的平均负载

load average 后面的三个数分别是5分钟、10分钟、15分钟的负载情况,如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了

退出(任务管理器)
按一下 “q”键

查看(任务管理器)帮助

按一下 “h”键

“t” 键,就可以切换CPU的状态

top 后

按一下 “f”键

相关解释

s 键是设置 按照那个字段排序

编号

  1. 进程及编程
  • PID 进程编号
  • PPID 父进程编号
  • PGRP 进程组编号
  • TPGID Tty进程组编号
  • TGID 线程组ID
  1. 用户及编号
  • UID 有效用户编号 (即展示出来的身份有可能不是真实身份)
  • USER 有效用户名
  • RUID 真实用户编号
  • RUSER 真实用户名称
  • SUID 已保存的用户编号
  • SUSER 已保存的用户名
  • GID 有效用户组编号
  • GROUP 有效用户组名称
  • SID 会话编号 (即可以说是用户会话,也可以说是进程的会话)

特性

  • S 进程状态 Process Status (R (running),S(Stoped) ,D(Dead),Z(Zombie)) 等
  • NI Nice value 友善度,好人值 (人好被插队)默认都是0,范围 [-20,19]
  • PR Priority (通过 20 + NI 计算出来的)其跟 NI 值一样的语义,也是友善度。值越低抢占的运行时间越多,其实际优先级就越高 (linux 099 的 pr 属性 realtime (rt) 任务,100139 (PR + 100)属性用户)
  • COMMAND 进程名或启动的命令行(通过 c命令切换)
  • ENVIRON 环境变量
  • TTY 使用的 Tty 没有的话表示为 ? 号。tty 提供交互的输入输出,没有 tty 的进程也就没有标准输入和输出

内存资源

  • CODE 可执行文件代码段大小即 text resident set(TRS) (KB)
  • DATA 数据段大小+栈空间大小 即 data resident set (DRS
    ) (KB)
  • RES Resident Size (KB) 进程占用的实际物理内存大小。对应 %MEM 列。RES = CODE + DATA
  • SHR Shared Memory (KB) 指明了 VIRT 中有多少是共享内存或库大小。
  • SWAP Swapped size(KB) 使用的交互分区大小。
  • USED RES + SWAP 大小
  • VIRT Virtual Image (KB) 虚拟内存分配大小,包含了其他文件(如代码,共享库,mmap等)映射,交换分区映射的地址区间大小。以虚拟内存的地址空间占用理解就对了,并不能准确反应物理内存的占用。

CPU 资源

  • TIME 进程占用 CPU 时间 (如果使用 S 命令启用累加模式(Cumulative Mode) 则包含其曾经的子进程。
  • TIME+ CPU Time, hundredths 比如 5:29.38 对应的 CPU 时间格式为: minutes:seconds.hundredths
  • %CPU CPU 使用率
  • P Last Used Cpu (SMP)

统计数据

  • nTH Number of Threads 线程数量
  • nDRT Number of Dirty pages 脏页数量
  • nMaj Major Page Faults (已请求的内存页还没有被加载,这是主要的应用申请内存产生的请求)
  • nMin Minor Page Faults (内存页已加载但是没有被MMU管理)
    namespace 作为一种用于隔离一组进程的资源手段,
  • nsIPC IPC namespace Inode (用于隔离IPC)
  • nsMNT MNT namespace Inode (用于隔离挂载点)
  • nsNET NET namespace Inode (用于隔离网络栈)
  • nsPID PID namespace Inode (用于隔离进程编号)
  • nsUSER USER namespace Inode (用于隔离用户)
  • nsUTS UTS namespace Inode (用于隔离域名和主机名)
还是那句话,你只看到了大佬轻松解决问题的光鲜,却不记得当初人家死磕Bug的痛苦。

万物皆入轮回,谁也躲不掉!

以上文章,均是我实际体验,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,支持下原创,请勿直接盗用,有条件的可以开通个会员支持下,谢谢!!!

Java Code Study » Linux 简单调优 —— Top 命令

招聘、单纯问问题,都可以联系我

加我QQ 公司缺人,拉我入伙