top命令用于实时显示 process 的动态,与此同时,该命令还提供了一个可调整参数的交互界面,用户可以根据需要,人性化地定制自己的输出。
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
top 相关监控项:
多长时间了,用了多少,怎么用的?
[oracle\@oracle-test /home/oracle]\$ top
--当前时间 16时40分16秒 启动了76天,1小时,同时在线2个用户,服务器负载:1min的负载,5min的负载,15min的负载
top - 16:40:16 up 76 days, 1:00, 2 users, load average: 0.00, 0.02, 0.05
--当前有311个工作任务,1个正在运行,310个在休眠,0个停止的,0个僵尸进程
Tasks: 311 total, 1 running, 310 sleeping, 0 stopped, 0 zombie
--用户使用CPU的百分比:us 用户态,sy 内核态,ni 优先级,id cpu空闲度,wa 等待的状态进程占cpu的百分比,hi 硬中断,si 软中断,st 虚拟机占用物理机的百分比
%Cpu(s): 0.4 us, 0.3 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
--物理总内存,空闲,已用,用于缓存的大小
--buff/cache:用于缓存的物理内存大小,buffer和cache可缩短IO调用时间,所以该值大说明cache住的文件多,命中cache的文件多,要比调用磁盘快,IO必定降低
KiB Mem : 16265972 total, 841224 free, 1766728 used, 13658020 buff/cache\
--虚拟总内存,空闲,已用,可供使用的内存大小
--avail Mem:可供使用的内存大小,包括free和buff/cache,因为buff/cache在内存不足时可以被释放
KiB Swap: 16777212 total, 16299516 free, 477696 used. 5133876 avail Mem
内存怎么计算:
Total=free+used+buff/cache
avail Mem=free+buff/cache
内存使用率=used/total
进程相关字段啥意思:
PID: 进程号
USER: 用户
PR: 进程运行优先级,值越小优先级越高
NI: 进程nice值,表示进程可被执行的优先级的修正数值
VIRT: 虚拟内存大小
RES: 常驻内存,是进程使用的且未被换出的物理内存大小
SHR: 共享内存大小
S: 运行状态(R:运行中,S:休眠中,T:跟踪/停止、Z:假死中,D:不可中断的休眠状态)
%CPU: cpu使用率
%MEM: 内存使用率
TIME+: 占用cpu总时长
COMMAND: 运行命令,按c键可查看全部
进程在干嘛 僵了没?Z 了没!:
--进程号/用户/优先级/进程NI值/虚拟内存大小/常驻内存/共享内存/运行状态/CPU使用率/内存使用率/占用CPU总时长/运行命令
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND\
12402 dmdba 20 0 1595008 443500 2972 S 2.3 2.7 1182:45 dmhs\_server\
31800 cloudwa+ 20 0 2172352 100548 15464 S 2.0 0.6 899:33.48 cloudwalker-eng\
2467 appadmin 20 0 660780 24832 1936 S 1.3 0.2 669:14.23 gsd-color\
31789 cloudwa+ 20 0 723476 12712 6404 S 1.0 0.1 308:50.68 cloudwalker-man\
9 root 20 0 0 0 0 S 0.3 0.0 30:49.00 rcu\_sched\
31742 cloudwa+ 20 0 719668 12184 4944 S 0.3 0.1 22:17.16 cloudwalker-upg\
1 root 20 0 191584 3576 1856 S 0.0 0.0 16:37.76 systemd\
2 root 20 0 0 0 0 S 0.0 0.0 0:02.27 kthreadd\
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H\
6 root 20 0 0 0 0 S 0.0 0.0 0:14.55 ksoftirqd/0
谁连到了我的pid,给我出来!
会话 用户 机器 程序 应用 等待... ...
--进程ID(spid是使用top命令查看到的 pid)
select s.paddr,s.sid,s.serial#,s.username,s.osuser,s.process,s.machine,s.program,s.command,s.seq#,s.event#,s.event,p.spid,p.username,p.program
from v`$session s, v$`process p
where s.paddr = p.addr
and p.spid in ('1121','11404','19806','23710','2235','26093');