#top

输出:

c:  切换显示命令名称和完整命令行。 显示完整的命令。 这个功能很有用。

M : 根据驻留内存大小进行排序。

P:根据CPU使用百分比大小进行排序。[[email protected] log]# top

top - 14:06:23 up 70 days, 16:44,  2 users,  load average: 1.25, 1.32, 1.35

Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie

Cpu(s):  5.9%us,  3.4%sy, 0.0%ni, 90.4%id,  0.0%wa, 0.0%hi,  0.2%si,  0.0%st

Mem:  32949016k total, 14411180k used, 18537836k free,   169884k buffers

Swap: 32764556k total,        0k used, 32764556k free,  3612636k cached

PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

28894  root      22   0 1501m 405m  10m S 52.2  1.3   2534:16 java

18249  root      18   0 3201m 1.9g  11m S 35.9  6.0 569:39.41 java

2808  root      25   0 3333m 1.0g  11m S 24.3  3.1 526:51.85 java

25668  root      23   0 3180m 704m  11m S 14.0  2.2 360:44.53 java

574   root      25   0 3168m 611m  10m S 12.6  1.9 556:59.63 java

1599  root      20   0 3237m 1.9g  11m S 12.3  6.2 262:01.14 java

1008  root      21   0 3147m 842m  10m S  0.3  2.6   4:31.08 java

第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

14:06:23 — 当前系统时间

up 70 days, 16:44 — 系统已经运行了70天16小时44分钟(在这期间系统没有重启过的吆!)

2 users — 当前有2个用户登录系统

load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,

结果高于5的时候就表明系统在超负荷运转了。第二行,Tasks — 任务(进程),具体信息说明如下:

系统现在共有206个进程,其中处于运行中的有1个,205个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行,cpu状态信息,具体属性说明如下:

5.9%us — 用户空间占用CPU的百分比。

3.4% sy — 内核空间占用CPU的百分比。

0.0% ni — 改变过优先级的进程占用CPU的百分比

90.4% id — 空闲CPU百分比

0.0% wa — IO等待占用CPU的百分比

0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比

0.2% si — 软中断(Software Interrupts)占用CPU的百分比

备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!

第四行,内存状态,具体信息如下:

32949016k total — 物理内存总量(32GB)

14411180k used — 使用中的内存总量(14GB)

18537836k free — 空闲内存总量(18GB)

169884k buffers — 缓存的内存量 (169M)

第五行,swap交换分区信息,具体信息说明如下:

32764556k total — 交换区总量(32GB)

0k used — 使用的交换区总量(0K)

32764556k free — 空闲交换区

总量(32GB)

3612636k cached — 缓冲的交换区总量(3.6GB)

第七行以下:各进程(任务)的状态监控,项目列信息说明如下:

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

用户空间和内核空间

用户空间对应进程,所以每当进程切换,用户空间就会跟着变化;

而内核空间是由内核负责映射,它并不会跟着进程变化,是固定的。内核空间地址有自己对应的页表,用户进程各自有不同的页表

用户进程能访问多少物理内存?内核代码能访问多少物理内存?

32位系统用户进程最大可以访问3GB,内核代码可以访问所有物理内存。

64位系统用户进程最大可以访问超过512GB,内核代码可以访问所有物理内存。

内核空间和用户空间是操作系统理论的基础之一,内核功能模块运行在内核空间,

而应用程序运行在用户空间

linux性能分析top iostat vmstat free,linux 性能篇 -- top用法(示例代码)相关推荐

  1. Linux内核分析(三)----初识linux内存管理子系统

    原文:Linux内核分析(三)----初识linux内存管理子系统 Linux内核分析(三) 昨天我们对内核模块进行了简单的分析,今天为了让我们今后的分析没有太多障碍,我们今天先简单的分析一下linu ...

  2. Linux常用性能分析监控工具 iostat、iotop、top、htop、free、iftop

    文章目录 1.磁盘监控工具 1.1.iostat 1.2.iotop 2.CPU监控工具 2.1.top 2.2.htop 3.内存监控工具 3.1.free 4.网络监控工具 4.1.iftop 1 ...

  3. linux io分析工具,io性能分析工具-iostat

    linux-io性能分析 iostat (input/output statistics) 是一个linux系统监视工具,它可以用于收集并展示操作系统存储的输入.输出统计.它经常用于识别存储设备(本地 ...

  4. linux下分析cel文件,详细解析Linux scp命令的应用

    采用scp命令在Linux系统之间copy文件 不同的Linux之间copy文件常用有3种方法,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的clie ...

  5. matlab 课程设计循环码性能分析,matlab课程设计--循环码的性能分析

    matlab课程设计--循环码的性能分析 课程设计任务书 学生姓名学生姓名 专业班级专业班级 指导教师指导教师 工作单位工作单位 题目题目 循环码的性能分析 初始条件初始条件 MATLAB,速率为 1 ...

  6. 性能分析系列-小命令保证大性能

    最近在工作中经常和性能压测工作打交道,积累了一些性能分析经验,我觉得这些经验对每一个开发者都有帮助的,能开发出性能高的代码也是我们的最终目标. 由易到难,我们逐步介绍不同命令的用法和好处,这些命令是如 ...

  7. 性能分析系列——小命令保证大性能

    原文链接:点击打开链接 最近在工作中经常和性能压测工作打交道,积累了一些性能分析经验,我觉得这些经验对每一个开发者都有帮助的,能开发出性能高的代码也是我们的最终目标. 由易到难,我们逐步介绍不同命令的 ...

  8. 性能分析系列-小命令保证大性能 | 程超

    编者按:程超在圈里有读三遍经典文章的习惯,江湖人称三遍哥,程超作为易宝支付的架构师,有10多年的JAVA开发经历,专注于金融支付与大数据领域,他将工作之中遇到的问题和经验都分享在简书(小程故事多)里面 ...

  9. matlab 课程设计循环码性能分析,matlab课程设计--循环码的性能分析.docx

    matlab课程设计--循环码的性能分析.docx 课程设计任务书学生姓名 专业班级 指导教师 工作单位 题目 循环码的性能分析 初始条件 MATLAB,速率为100Bd的矩形输入信号,AWGN信道要 ...

最新文章

  1. boost program_options
  2. 中国联通:联通集团正研究混改 具体实施方案在讨论中
  3. linux c 中 当前函数名 文件名 可变参 不定参 宏使用
  4. C# 实现DB文件的导入导出功能
  5. python的print格式化输出的format()方法和%两种方法
  6. Web认证及API的 使用TOKEN的一些思考
  7. opencv 梯度幅值_OpenCV边缘检测的详细参数调节
  8. Linux链接库三(C跟C++之间动态库的相互调用)
  9. 绝对不能错过!2009~2019 高中数学联赛11年真题解析
  10. 用户研究:如何做用户画像分析
  11. 【Eclipse 插件】Implementors
  12. java中保留小数位_Java中保留两位小数的方法
  13. 结构化机器学习项目 —— 1.1 为什么是ML策略
  14. android获取有线、wifi、3G(4G)的IP
  15. congruent matrix
  16. android 自定义园动画,如何在Android中绘制一个带有动画的圆
  17. python isodd()判断奇偶_EXCEL VBA:Iseven Isodd 判断奇偶
  18. DEBUG模式下,视频丢包严重;RELEASE就好了
  19. 浪曦大型企业门户综合项目的设计、实施与管理实地培训班隆重开班招生中……
  20. ECharts 简明教程,用js输出图表

热门文章

  1. maven 打包报错 surefire-reports for the individual test results.
  2. EMR StarRocks 极速数据湖分析原理解析
  3. 双11特刊|购物车实时显示到手价,看云原生内存数据库Tair如何提升用户体验?
  4. 贾扬清谈云原生-让数据湖加速迈入3.0时代
  5. 下一代云原生应用制品管理平台,容器镜像服务企业版优惠进行时
  6. Apache Flink 结合 Kafka 构建端到端的 Exactly-Once 处理
  7. 使用 MaxCompute(原ODPS) java sdk 运行安全相关命令
  8. 有赞九周年,打造技术生态,与开发者一起投身新零售浪潮
  9. 低代码会让程序员更加内卷吗?
  10. 大数据,从青铜到王者