linux查看资源使用情况

top -c # 查看资源使用情况
top

输出如下内容

top - 14:54:21 up 95 days, 20:03,  3 users,  load average: 2072.21, 1241.33, 1244.76
Tasks: 1071 total, 459 running, 610 sleeping, 2 stopped, 0 zombie
%Cpu(s): 12.4 us, 36.1 sy, 0.0 ni, 51.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 515457.4 total, 330572.6 free, 127919.9 used, 56965.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 381876.9 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
109931 20 0 1151960 101916 30340 R 45.9 0.0 35:01.51 /home/
110902 20 0 1150032 99684 29548 R 43.7 0.0 36:25.97
  • 第一行:系统时间 + 系统已经运行时间 + 目前几个用户登录系统 + 1/5/15分钟系统负载平均值

    负载值表示系统正在运行的进程数,这些进程在等待 CPU 或 I/O 的时间。通常情况下,负载值应该在CPU核心数的范围内。

  • 第二行:total总进程数 + 正在运行进程数 + 睡眠状态进程数 + 停止的进程数 + 僵尸进程数(zombie)

    僵尸进程:即已经结束但是父进程还没有读取到退出状态的进程。

  • 第三行:us用户空间CPU占比 + sy内核空间CPU占比 + ni 用于优先级别较低的进程的用户空间CPU占比 + id CPU空闲比 + 等待I/O的CPU时间比 + hi 硬中断处理百分比 + si 软中断处理百分比 + st 被虚拟化软件(如虚拟机)偷取的CPU时间百分比

    hi(hardware IRQ) 硬中断

    si(software IRQ) 软中断

  • 第四行 Mem:物理内存大小 + 可用物理内存大小 + 已使用物理内存大小 + 用于缓冲和缓存的内存大小

  • 第五行 Swap:交换空间的总大小 + 可用交换空间大小 + 已使用交换空间大小 + 可用于系统使用的内存大小

  • 第六行:

    • PID:进程ID
    • USER:进程所属用户
    • PR:进程优先级
    • NI:进程的nice值
    • VIRT:进程的虚拟内存大小
    • RES:进程占用的物理内存大小
    • SHR:进程使用的共享内存大小
    • S:进程状态(运行--R,睡眠--S,停止--T)
    • %CPU:进程使用的CPU百分比
    • %MEN:进程占用内存百分比
    • TIME+:进程占用的CPU时间
    • COMMAND:进程的命令
P # 输入P将会按照%CPU使用率排序

然后根据最耗费CPU的进程定位该进程下耗费CPU的线程,然后输入P对线程进行排序

top -Hp pid

P

由于Liunx中PID为十进制,先转换成十六进制

printf"%x\n" tid

然后使用指令查看高CPU线程的堆栈信息,打印出代码中哪些方法导致CPU较高的。

jstack pid | grep tid -C5 --color

这是java里的。

linux查看资源使用情况的更多相关文章

  1. linux查看资源占用情况

    在Linux中查看占用空间大文件 查看当前目录总共占的容量.而不单独列出各子项占用的容量$ du -sh查看当前目录下一级子文件和子目录占用的磁盘容量.$ du -lh --max-depth=1结果 ...

  2. Linux 查看磁盘使用情况

    Linux 查看磁盘使用情况 df 查看当前挂载空间使用情况 语法: df [选项]... [FILE]... 文件-a, --all 包含所有的具有 0 Blocks 的文件系统 文件--block ...

  3. Netstat -tln 命令是Linux查看端口使用情况

    Netstat -tln 命令是Linux查看端口使用情况

  4. linux(8)Linux 查看端口占用情况

    前言 平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种 Linux 查看端口占用情况可以使用 lsof 和 netstat 命令. 1. lsof -i:端口号 用 ...

  5. 【转】Linux 查看端口占用情况

    Linux 查看端口占用情况可以使用 lsof 和 netstat 命令. lsof lsof(list open files)是一个列出当前系统打开文件的工具. lsof 查看端口占用语法格式: l ...

  6. Linux查看内存使用情况

    输入:top PID:进程的ID USER:进程所有 PR:进程的优先级别,越小越优先被执 NInice: VIRT:进程占用的虚拟内 RES:进程占用的物理内 SHR:进程使用的共享内 S:进程的状 ...

  7. 【查看内存】Linux查看内存使用情况(二)

    Linux查看CPU和内存使用情况:http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html 在做Linux系统优化的时候,物理内 ...

  8. 26. linux查看端口占用情况

    linux系统下,查看端口占用情况的命令:lsof -i[root@www ~]# lsof -i

  9. linux查看磁盘使用情况

    # 查看磁盘使用情况 $ df -l # 查看某个目录在哪个分区,比如查看/root文件夹在哪个分区 $ df /root # 查看linux系统具体分区情况 $ fdisk -l

  10. linux 查看硬盘使用情况

    在windows系统中,我们可以很容易的查看磁盘的使用情况,在linux系统中,我们可以使用命令来查看磁盘使用情况. 1.df命令 作用:用来查看硬盘的挂载点,以及对应的硬盘容量信息.包括硬盘的总大小 ...

随机推荐

  1. NC20259 [SCOI2007]降雨量

    题目链接 题目 题目描述 我们常常会说这样的话:"X年是自Y年以来降雨量最多的".它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格小于X年. ...

  2. Centos7安装MySQL5.7和Redis6.0流水账

    安装mysql 使用rpm包安装 yum remove mariadb-libs.x86_64 yum install perl rpm -ivh mysql-community-common-5.7 ...

  3. Spring Boot整合JWT实现接口访问认证

    最近项目组需要对外开发相关API接口,需要对外系统进行授权认证.实现流程是先给第三方系统分配appId和appSecret,第三方系统调用我getToken接口获取token,然后将token填入Au ...

  4. flex布局-20201028

    改版自阮一峰的网络日志-Flex 布局教程:语法篇 在flex容器上设置的(即父元素上设置); flex-direction属性决定主轴的方向(即项目的排列方向). flex-direction: r ...

  5. EasyExcel使用及自定义设置单元格样式

    EasyExcel使用及自定义设置单元格样式 https://www.cnblogs.com/Hizy/p/11825886.html easyexcel 自动设置列宽 https://www.man ...

  6. Qt开发Activex笔记(三):C#调用Qt开发的Activex控件

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789727 长期持续带来更多项目与技术分享 ...

  7. django中model聚合使用

    from django.db.models.functions import Cast, Coalesce, Concat, ConcatPair, Greatest # Cast,类型转换 q1 = ...

  8. linux系统优化命令--day03

    用户管理与文件权限 给普通用户授权 root 用户 修改/etc/sudoers文件,文件非常重要, 不可以随意更改 vim /etc/sudoers 如果想要给用户赋予权限,我们要使用这个命令 vi ...

  9. 如何在 WindowManager.addView 中使用 Jetpack Compose

    如何在 WindowManager.addView 中使用 Jetpack Compose 一.引出问题 Android 开发中,很常见的一个场景,通过 WindowManager.addView() ...

  10. React 组件之属性

    如果你想要实现自己的梦想,就必须先拥有勇气去追求它. 1. React Props 属性 props 主要解决两个问题:复用性问题以及可以让组件之间通信. 属性 props 正常是外部传入的,组件内部 ...