top的简单学习

top,简单,学习 · 浏览次数 : 230

小编点评

## 获取当前进程的全部线程jps 获取jvm的进程信息 **Linux:** ```bash l -l 1 | grep -E "pid|name|state|thread" top -d 2 -c -p 123456 ``` **Windows:** ``` tasklist /fo CSV /nh | findstr /i /c "pid,name,state,thread" tasklist /fo CSV /nh | findstr /i /c "pid,name,state" tasklist /fo CSV /nh | findstr /i /c "pid,name,state,thread" top /fo CSV /n 2 /c /p 123456 ``` **其他说明:** * `l` 显示平均负载和启动时间信息。 * `m` 显示内存信息。 * `t` 显示进程和CPU状态信息。 * `c` 显示命令名称和完整命令行。 * `M` 根据驻留内存大小进行排序。 * `P` 根据CPU使用百分比大小进行排序。 * `T` 根据时间/累计时间进行排序。 * `W` 将当前设置写入~/.toprc文件中。 **注意:** * 以上命令的输出可能因操作系统和内核版本而有所不同。 * 可以根据需要修改命令参数,例如设置显示时间间隔、窗口数量等。

正文

获取当前进程的全部线程

jps 获取jvm的进程信息.

top -Hp $pid -bn 1 > 1.txt

可以获取当前特定进程的所有子进程.
注意linux与Windows的不太一样.
linux下面的线程实现,其实是子进程的模式. 
Windows的更是process-thread的映射模式. 

其他部分命令

o或者O 改变显示项目的顺序。 
l 切换显示平均负载和启动时间信息。 
m 切换显示内存信息。 
t 切换显示进程和CPU状态信息。 
c 切换显示命令名称和完整命令行。 
M 根据驻留内存大小进行排序。 
P 根据CPU使用百分比大小进行排序。 
T 根据时间/累计时间进行排序。 
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

top的其他用法

top //每隔5秒显式所有进程的资源占用情况
top -d 2 //每隔2秒显式所有进程的资源占用情况
top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

top列的含义

序号 列名 含义
1 PID 进程id
2 PPID 父进程id
3 RUSER Real user name
4 UID 进程所有者的用户id
5 USER 进程所有者的用户名
6 GROUP 进程所有者的组名
7 TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
8 PR 优先级
9 NI nice值。负值表示高优先级,正值表示低优先级
10 P 最后使用的CPU,仅在多CPU环境下有意义
11 %CPU 上次更新到现在的CPU时间占用百分比
12 TIME 进程使用的CPU时间总计,单位秒
13 TIME+ 进程使用的CPU时间总计,单位1/100秒
14 %MEM 进程使用的物理内存百分比
15 VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
16 SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
17 RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
18 CODE 可执行代码占用的物理内存大小,单位kb
19 DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
20 SHR 共享内存大小,单位kb
21 nFLT 页面错误次数
22 nDRT 最后一次写入到现在,被修改过的页面数。
23 S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
24 COMMAND 命令名/命令行
25 WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
26 Flags 任务标志,参考 sched.h

top的其他用法

  • 不同进程状态的含义
id:  idle进程执行所占的CPU时间百分比,当系统当中没有足够的进程让CPU执行的时候,
     idle进程会被调度到CPU上进行执行,这个进程是为了让操作系统能够良好的执行起来所设置
     idle进程主要执行HLT指令,这个指令主要是让CPU节能,不需要CPU满负荷运转,
     因为这个时候没有具体的进程需要执行,这个百分比越大说明系统负载越轻,CPU不繁忙。
wa:  这个很好解释,等待IO的时间。
hi:  处理硬件中断所消耗的时间。
si:  处理软件中断所消耗的时间
st:  这个主要是虚拟机的虚拟CPU等待真实物理CPU的时间,
     可以大致认为是Ready状态到Running状态的等待时间,
     如果这个值越大说明虚拟机运行状态越不好,因为它等待真实CPU的时间很长。

与top的简单学习相似的内容:

top的简单学习

获取当前进程的全部线程 jps 获取jvm的进程信息. top -Hp $pid -bn 1 > 1.txt 可以获取当前特定进程的所有子进程. 注意linux与Windows的不太一样. linux下面的线程实现,其实是子进程的模式. Windows的更是process-thread的映射模式.

一次典型的Memroy Leak的跟踪学习过程

背景 周四时某项目在QQ群里说自己的系统出现了CPU占用较高的情况. TOP 查看发现大部分占用CPU的都是 JAVA核心进城后附近的进程. 所以初步怀疑 是出现了FullGC的问题. 然后群里反馈了dump 以及 tracelog等内容 进行了简单的分析, 这里总结一下, 备忘 关于GC进程 ja

算法金 | 一个强大的算法模型,多项式回归!!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 吴恩达:机器学习的六个核心算法!--> 线性回归 在许多实际场景中,简单的线性回归无法捕捉复杂的模式,这时候就该祭出我们多项式回归大法了,一种在数据分析和预测中常用的机器学习方法。 本文

算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 决策树是一种简单直观的机器学习算法,它广泛应用于分类和回归问题中。它的核心思想是将复杂的决策过程分解成一系列简单的决策,通过不断地将数据集分割成更小的子集来进行预测。本文将带你详细了解决

算法金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今天我们来战 过拟合和欠拟合,特别是令江湖侠客闻风丧胆的 过拟合,简称过儿, Emmm 过儿听起来有点怪怪的 1. 楔子 机器学习模型是一种能够从数据中学习规律并进行预测的算法。我们希望

算法金 | 10 大必知的自动化机器学习库(Python)

大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 一、入门级自动化机器学习库 1.1 Auto-Sklearn 简介: Auto-Sklearn 是一个自动机器学习库,基于 Python 的 scikit-learn 接口。它主要用于自

[转帖]Linux命令拾遗-%iowait指标代表了什么?

https://www.cnblogs.com/codelogs/p/16060759.html 简介# 一直以来,我都知道top、vmstat、mpstat中有一个叫wa(%iowait)的cpu指标,但对它表示的具体含义又不是很清楚,故专门去网上学习了一下。 iowait在man中的介绍# ma

[转帖]sar命令查看历史数据

https://www.jianshu.com/p/d1f0f2a99ffe 前言 有的时候,我们要通过对系统的cpu负载等性能数值的查看,来判排查系统产生某种故障(经常死机或者运行速度突然变慢)的原因。但是,简单的top,uptime,w等命令只可以查看当前的负载,而无法查看过去的某一时间段的cp

KylinV10升级部分软件的简单方法

背景 2022-12-26有同事晚上在群里反馈客户现场的测试环境内存紧张. 我这边第一反应是进程重复了,导致内存使用量飙升. 告知现场使用 ps -ef |grep java |grep caf 发现只有一个进程. 然后使用 top 然后输入 M 使用内存排序: 发现除了java主服务之后还有 au

Fabric区块链浏览器(3)

本文是区块链浏览器系列的第五篇,项目完整代码在[这里](https://github.com/mengbin92/browser/tree/main)。 在[上一篇文章](https://mengbin.top/2023-08-20-browser2/)中给浏览器增加了简单的用户认证,至此浏览器的基