1、使用top命令基本信息

us:用户态使用的cpu时间比
sy:系统态使用的cpu时间比
ni:用做nice加权的进程分配的用户态cpu时间比
id:空闲的cpu时间比
wa:cpu等待磁盘写入完成时间
hi:硬中断消耗时间
si:软中断消耗时间
st:虚拟机偷取时间

2、进入命令后可以使用的命令

通过?或者h查看

  Z,B       Global: 'Z' change color mappings【设置颜色】; 'B' disable/enable bold【字体加粗】
l,t,m Toggle Summaries: 'l' load avg【负载】; 't' task/cpu stats【task/cpu汇总】; 'm' mem info【内存】
,I Toggle SMP view: '' single/separate states【负载】; 'I' Irix/Solaris mode f,o . Fields/Columns: 'f' add or remove【展示字段增删】; 'o' change display order【展示字段顺序】
F or O . Select sort field【选择排序字段】
<,> . Move sort field: '<' next col left; '>' next col right【翻页】
R,H . Toggle: 'R' normal/reverse sort【正常、反序】; 'H' show threads【展示线程】
c,i,S . Toggle: 'c' cmd name/line【命令名/整行】; 'i' idle tasks【空闲任务】; 'S' cumulative time【耗时】
x,y . Toggle highlights: 'x' sort field【排序字段高亮】; 'y' running tasks【运行任务】
z,b . Toggle: 'z' color/mono;【颜色】 'b' bold/reverse 【加粗】(only if 'x' or 'y')
u . Show specific user only【用户】
n or # . Set maximum tasks displayed【设置最大展示任务】 k,r Manipulate tasks: 'k' kill【杀 进程】; 'r' renice【重指定】
d or s Set update interval【设置更新间隔】
W Write configuration file【写配置文件】
q Quit【退出】
( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,

3、一次CPU 100%处理-java进程

步骤一、找到最耗CPU的进程,打开终端  

  执行top -c ,显示进程运行信息列表

top -c

  键入P (大写p),进程按照CPU使用率排序

步骤二:找到最耗CPU的线程

  显示一个进程的线程运行信息列表

top -Hp 线程id
如:top -Hp 4830

  键入P (大写p),线程按照CPU使用率排序

步骤三:将线程PID转化为16进制

  查看步骤二中,进程内线程具体线程id,如:4831

printf “%x” 

  之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的。如上述 4831 对应的是 12df

步骤四:查看堆栈,找到线程在干嘛

  工具:pstack/jstack/grep  

jstack 进程id | grep '16进制线程id' -C5 --color

如:

jstack  | grep '0x12df' -C5 --color
  • 打印进程堆栈

  • 通过线程id,过滤得到线程堆栈

找到了耗CPU高的线程对应的线程名称“AsyncLogger-1”,以及看到了该线程正在执行代码的堆栈。进一步分析即可

查看进程端口信息
  netstat -nap |grep 30778
查看进程信息
  ps -ef |grep 30778
杀死进程
  kill -9 30778
检查一下系统最近系统登录信息,看看是否被入侵,使用
  lastlog
列出当前和曾经登入系统的用户信息
  last

006-top查看计算机信息的更多相关文章

  1. 【Linux】通过top语句可以查看压力测试的实时服务器状态。(可以通过百度Linux top查看相关内容)

    Linux实时查看服务器状态的两个语句 1.显示基本服务器监控状态语句如下:linux top 在这里输入 主要先看服务器负载高不高,高了后能否降下来,再看网络,io,数据库状态. 是有一个工具可以监 ...

  2. top查看CPU情况

    Linux查看CPU情况 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top ...

  3. 使用top查看进程和系统负载信息

    引言      使用top命令,可以查看正在运行的进程和系统负载信息,包括cpu负载.内存使用.各个进程所占系统资源等,top可以以一定频率更新这些统计信息.下面我们来学习top命令的具体使用方法. ...

  4. linux top 查看CPU命令

    top 命令主要用于查看进程的相关信息,同时它也会提供查看系统平均负载,cpu 信息和内存信息 实时监控系统资源使用情况 [root@localhost ~]$ top // 动态查看进程使用资源的情 ...

  5. top 查看资源使用

    top:动态观察程序的变化 ? [root@linux ~]# top [-d] | top [-bnp] 参数: -d :后面可以接秒数,就是整个程序画面更新的秒数.预设是 5 秒: -b :以批次 ...

  6. kubectl top查看k8s pod的cpu , memory使用率情况

    To see the pods that use the most cpu and memory you can use the kubectl top command but it doesn’t ...

  7. top查看进程的参数

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不 ...

  8. Top 查看某些或者某个进程(top -p pid)

    https://blog.csdn.net/zhangfn2011/article/details/7488746?utm_source=blogxgwz5

  9. Ubuntu 使用top/free查看内存占用大的原因

    Ubuntu 使用top/free查看内存占用大的原因     linux/ubuntu下free/top查看内存占用大的原因 使用free/top查看内存占用的时候,吓了一大跳,机器4GB的内存,显 ...

随机推荐

  1. Linux克隆修改配置文件及IP

    Linux下安装基本的开发软件比较费劲,特别是安装mysql的时候,这时候就需要学会克隆及直接备份base虚拟机了,下次直接打开,修改网卡文件信息就完事. 克隆虚拟机eth0网卡出现的问题解决1:修改 ...

  2. Ubuntu在命令行安装显卡驱动

    Ubuntu在命令行安装显卡驱动 1.进入电脑的BIOS,把Security Boot设置为Disabled. 2.进入终端,输入一以下命令(这里以安装NVIDIA-390进行演示) sudo add ...

  3. macos下简单的socket服务器+客户端

    TCP客户端服务器编程模型: 服务器: 调用socket函数创建套接字 调用bind绑定本地IP和端口 调用listen启动监听(准备好接收客户端链接的队列) 调用accept从已连接队列中提取第一个 ...

  4. TF_Variable Sharing

    Reference: http://jermmy.xyz/2017/08/25/2017-8-25-learn-tensorflow-shared-variables/ Tensorflow does ...

  5. python .pth 文件 和 site 模块

    python .pth 文件 和 site 模块 .pth 文件 该文件位于 python 的 /Lib/site-packages 目录下,可以有多个,在 .pth 文件中可以把其它目录添加到 sy ...

  6. metal sample code

    https://developer.apple.com/metal/sample-code/ 又被我发现了个宝贝

  7. ACM-ICPC 2015 沈阳赛区现场赛 I. Triple && HDU 5517(二维BIT)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5517 题意:有二元组(a,b),三元组(c,d,e).当b == e时它们能构成(a,c,d)然后,当 ...

  8. java.util.Stack

    import java.util.Stack; public class Test { public static void main(String[] args) { Stack stack = n ...

  9. PC打开AS400 folder

    1.首先确保在iSeriers能打开该folder  Wrklink 'QDLS'  如果出现如下错误,则需要增加user profile到Directory Entries list CPF9006 ...

  10. GitLab 如何在 Web 界面中 Merge branch

    希望在 GitLab 中对 2 个 branch 进行合并,如何创建 Pull Request 并且如何进行合并呢? 在 GitLib 的 Web 界面中选择 Merge Requests 然后再界面 ...