linux 性能篇 -- top用法

#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,内核代码可以访问所有物理内存。

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

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

时间: 2025-01-20 02:22:07

linux 性能篇 -- top用法的相关文章

Linux性能分析Top

前言 在实际开发中,有时候会收到一些服务的监控报警,比如CPU飙高,内存飙高等,这个时候,我们会登录到服务器上进行排查.本篇博客将涵盖这方面的知识:Linux性能工具. 一次线上问题排查模拟 背景:服务在平稳运行一段时间后,CPU突然飙高. 通过top命令,可以确认下,到底是哪个进程导致CPU飙高了(也许是误报呢?). 可以看到图中PID是2816的进程,CPU使用率非常高. 使用top -Hp 2816来对进程下的线程进行观察.图中可以发现,2825这个线程CPU非常高. 这里利用Python

linux 性能篇 -- ps的用法

分析:使用ps命令 # ps -ef   显示所有进程 # ps -eo comm,pcpu  显示所有命令占用的cpu的大小 e显示所有进程,o指定命令的名字 # ps -eo comm,pmem  显示所有命令占用的mem的大小 ps工具标识进程的5种状态码: D 不可中断 uninterruptible sleep (usually IO) R 运行 runnable (on run queue) S 中断 sleeping T 停止 traced or stopped Z 僵死 a de

Linux性能分析top iostat vmstat free

最近看到一大牛的分析报告,才知道笔者认识这4个命令是多么肤浅,其实要读懂内存的信息,是要一些功力的.1.top VIRT           虚拟内存总量,VIRT=SWAP+RESSWAP           使用的虚拟内存中被换出的大小RES            进程使用的.未被换出的物理内存大小SHR            共享内存大小,单位kbS              进程状态%MEM           进程使用的物理内存百分比%CPU           CPU时间占用百分比M

Linux性能监控top及vmstat命令

监控的工具---top 第一行: 10:01:23 当前系统时间 126 days, 14:29 系统已经运行了126天14小时29分钟(在这期间没有重启过) 2 users 当前有2个用户登录系统 load average: 1.15, 1.42, 1.44 Load这个东西怎么理解呢,就像一条马路,有N个车道,如果N个进程进入车道,那么正好一人一个,再多一辆车就占不到车道,要等有一个车空出车道. 在CPU中可以理解为CPU可以并行处理的任务数,那么就是“CPU个数 * 核数”,如果CPU L

linux性能测试命令-----top

Top命令显示了实际CPU使用情况,默认情况下,它显示了服务器上占用CPU的任务信息,并且每5秒钟刷新一次.它会显示CPU使用量.内存使用量.交换内存.缓存大小.缓冲区大小.流程PID.用户.命令等. 说明: 前五行是系统整体的统计信息. 第一行是任务队列信息,同 uptime 命令的执行结果. 11:18:26:当前系统时间,根据该值的变化差,可以计算top的刷新间隔秒数. up 15 days,18:35:系统运行的时间.  1 user :当前登录用户数.  load average:0.

【原创】一文掌握 Linux 性能分析之 I/O 篇

本文首发于我的公众号 CloudDeveloper(ID: cloud_dev),专注于干货分享,号内有大量书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 一文掌握 Linux 性能分析之 CPU 篇 一文掌握 Linux 性能分析之内存篇 这是 Linux 性能分析系列的第三篇,前两篇分别讲了 CPU 和 内存,本篇来看 IO. IO 和 存储密切相关,存储可以概括为磁盘,内存,缓存,三者读写的性能差距非常大,磁盘读写是毫秒级的(一般 0.1-10ms),内存读

转:Linux性能评测工具之一:gprof篇

1 简介 改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的.GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof).gprof 可以为 Linux平台上的程序精确分析性能瓶颈.gprof精确地给出函数被调用的时间和次数,给出函数调用关系. gprof 用户手册网站 http://sourceware.org/binutils/docs-2.17/gprof/index.html 2 功能 Gprof 是G

Linux性能优化和监控系列(一)——top工具

解释服务器发生了什么——top工具 在检查服务器的详细工作性能状态前,系统管理员需要对当前服务器状态有总体的了解. top是检查服务器总体状态的强有力工具, 通过top可以获取CPU, Memory, Process运行信息, 如下是运行top命令后的数据显示: top - 20:08:09 up 10 min,  1 user,  load average: 0.00, 0.02, 0.01 Tasks: 104 total,  1 running, 103 sleeping,  0 stop

[Linux 性能检测工具]TOP

TOP NAME 显示linux任务 语法 top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...] 描述 top程序提供了系统实时信息,显示系统的总体信息和一组由内核管理的任务,系统总体信息的类型,和任务列表上类型,顺序和大小信息,都可以由用户配置,重启机制就有效. 提供了有限的一些交互接口让用户配置,涵盖了操作的每个方面.当top引用这个文件,可以随意命名top程序,然后当读写一个配置文件的时候新的名称会被引用到top的显示