`

linux-监控

 
阅读更多

----------iostat ------------------

iostat -d -k -x 2 100

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的 时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个 设备相关的写入请求有多少被Merge了。

r/s:每秒响应的读取请求数;w/s:每秒响应的写入请求数;rkB/s:每秒读取的数据量;wkB/s:每秒写入的数据量

await:每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时 间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。

 

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计 间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

 

------------------TOP--------------------

由于Oracle大多运行在Linux系统下,所以了解一些相关知识还是很有必要的,本文将主要梳理汇总在Linux性能监控方面常用到的一些命令。

TOP

TOP命令提供了对系统处理器的实时状态监视信息,它会显示CPU使用量、内存使用量、交换内存、缓存大小、缓冲区大小、流程PID、用户、命令等。

TOP信息可以分为两部分,光标上面部份显示关于系统整体性能,光标下面部份显示各进程信息,光标所在处是用来输入操作命令的。

系统整体性能统计信息

第一行:top - 12:38:33 up 50 days, 23:15,  7 users,  load average: 60.58, 61.14, 61.22

详解(基础信息):

12:38:33(系统当前时间)、up 50 days(系统开机至今时间)、7 users(当前登录系统用户数)、load average: 60.58, 61.14, 61.22(系统1、5、15分钟平均活跃进程数,如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了)。

第二行:Tasks: 203 total,  60 running, 139 sleeping,   4 stopped,   0 zombie

详解(进程信息):

203 total(系统当前进程数)、60 running(运行中进程数)、139 sleeping(休眠进程数)、4 stopped(停止进程数)、0 zombie(僵尸进程数)。

第三行:Cpu(s)  : 27.0%us, 33.0%sy,  0.0%ni,  40.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

详解(CPU信息):

27.0%us(用户空间占用CPU的百分比)、33.0%sy(内核空间占用CPU的百分比)、0.0%ni(改变过优先级的进程占用CPU的百分比)、40.0%id(空闲CPU百分比)、0.0%wa(IO等待占用CPU的百分比)、0.0%hi(硬中断占用CPU的百分比)、0.0%si(软中断占用CPU的百分比)、0.0%st(不知道)。

第四行:Mem:   1939780k total,  1375280k used,   564500k free,   109680k buffers

详解(内存信息):

1939780k total(物理内存总量)、1375280k used(已用物理内存量)、564500k free(空闲物理内存量)、109680k buffers(用于内核缓存的物理内存量)。

第五行:Swap:  4401800k total,   497456k used,  3904344k free,   848712k cached

详解(交换分区):

4401800k total(交换区总量)、497456k used(已用交换区总量)、3904344k free(空闲交换区总量)848712k cached(缓冲的交换区总量)。

交换分区类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。缓冲交换区cached作用原理为,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free+第四行的buffers+第五行的cached。对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

进程信息

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

4338         oracle       25     0       627m        209m        207m        R       0       11.0 297:14.76         oracle

详解:

PID(进程ID)、USER(进程所有者)、PR(优先级)、NI(nice值,负值表示高优先级,正值表示低优先级)、VIRT(进程占用的虚拟内存总量,单位kb)、RES(进程占用的物理内存)、SHR(进程使用的共享内存)、S(进程状态,D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程)、%CPU(上次更新到现在的CPU时间占用百分比)、%MEM(进程使用的物理内存百分比)、TIME+(进程使用的CPU时间总计,单位1/100秒)、COMMAND(进程名称,命令名或命令行)。

进程信息排序:

默认进入top时,各进程是按照CPU的占用量来排序的。可以通过键盘指令改变排序字段,b(行加亮效果打开/关闭)、x(列加亮效果打开/关闭)、shift + >或shift + <(向右或左改变排序列)。

控制进程信息显示字段:

敲击f键,进入显示字段编辑视图,进程字段前有*且前标字母是大写的表示已显示的,没有*且小写的是未显示的,可以通过敲击进程前标字母来控制字段是否显示。

交互命令

q:退出top命令

<Space>:立即刷新

o:改变列显示顺序,按小写的a-z可以将相应的列向右移动,而大写的A-Z可以将相应的列向左移动,最后按回车键确定。按大写的F或O键,然后按a-z可以将进程按照相应的列进行排序,而大写的R键可以将当前的排序倒转,设置完按回车返回界面。

c:显示命令完全模式

t:显示或隐藏进程和CPU状态信息

m:显示或隐藏内存状态信息

l:显示或隐藏uptime信息

f:增加或减少进程显示标志

S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+

s:设置刷新时间间隔

P:按%CPU使用率排行

T:按TIME+排行

M:按%MEM排行

u:指定显示用户进程

r:修改进程renice值

k:终止一个进程

i:只显示正在运行的进程,忽略闲置或僵死进程

W:保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置。

h:帮助命令。

top命令是Linux上进行系统监控的首选命令,但有时候却达不到我们的要求,可以用ps和netstate两个命令来补充top的不足。

监控java线程数:

ps -eLf | grep java | wc -l

监控网络客户连接数:

netstat -n | grep tcp | grep 侦听端口 | wc -l

上面两个命令,可改动grep的参数,来达到更细致的监控要求。

分享到:
评论

相关推荐

    wrapper-linux-x86-64-3.5.55 社区版

    总的来说,"wrapper-linux-x86-64-3.5.55 社区版"是Linux环境中的一款强大工具,通过它可以轻松地管理和监控Java应用,提高系统的可靠性。对于那些依赖Java服务的企业和开发者,熟悉并掌握Wrapper技术是提升运维效率...

    etcd-v3.5.0-linux-amd64.tar.gz

    - 监控与报警:设置监控指标,如CPU使用率、内存占用和网络延迟,及时发现并解决问题。 总结,etcd-v3.5.0-linux-amd64是一个强大的工具,用于构建高度可用的分布式系统。了解其工作原理、如何部署和使用,以及...

    DellEMCPower.LINUX-7.1.0.b075.tar.gz

    EMC PowerPath的多路径功能包括负载均衡、故障切换和性能优化,它能够监控和管理多个I/O路径,自动检测并应对网络或硬件故障,从而确保业务连续性和高可用性。 总结来说,DellEMCPower.LINUX-7.1.0.b075.tar.gz是一...

    Linux监控系统Linux-dash.zip

    Linux-dash 是一个低开销 Linux 服务器监控系统,基于 Web 的监控界面。Linux-dash 的界面提供了一个详细的概述您的服务器的所有重要方面,包括内存和磁盘使用情况,网络,安装软件,用户,运行的流程。所有信息被组织成...

    基于 ARM-Linux-gcc、Linux-C、C# 实现的智能楼宇安全监控报警系统

    【作品名称】:基于 ARM-Linux-gcc、Linux-C、C# 实现的智能楼宇安全监控报警系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 ...

    jdk-21-linux-aarch64-bin.tar.gz

    这里我们关注的是JDK的第21版本,针对Linux Arm架构的二进制发行版,文件名为"jdk-21_linux-aarch64_bin.tar.gz"。这个压缩包包含了在Linux平台上运行和开发Java程序所需的所有组件,特别是对于基于Arm架构的设备,...

    最新版linux jdk-8u251-linux-x64.tar.gz

    - **jps**、**jstat**、**jmap**等:这些是Java性能监控和诊断工具,帮助开发者分析和优化应用性能。 4. **JDK 1.8的新特性**: - **Lambda表达式**:提供了一种简洁的处理匿名函数的方式,使得代码更简洁易读。 ...

    Linux运维-03-监控专题-day01-zabbix安装与介绍-01-监控

    Linux运维-03-监控专题-day01-zabbix安装与介绍-01-监控介绍.mp4

    Linux运维-11-Linux云计算-监控- 监控概述课件资料.zip

    通过学习这个“Linux运维-11-Linux云计算-监控-监控概述”的课件资料,你将掌握如何在复杂的云计算环境中实施有效的监控策略,从而提升系统的稳定性和可靠性。同时,这也会帮助你更好地理解Linux运维的工作流程,...

    jdk-8u341-linux-x64.tar.gz

    8. **开发者工具(如jconsole、jvisualvm等)**: 这些工具提供性能监控、内存分析、线程诊断等功能,帮助开发者优化应用程序。 9. **Java类库(rt.jar)**: 包含了Java标准版(SE)API的所有核心类,如集合框架、I/...

    jdk-8u331-linux-x64.tar.gz

    此外,还要关注JDK的性能监控、日志管理、安全更新和故障排查。 2. **服务器**:JDK在服务器上运行Java应用程序,如Web服务器、数据库服务器、应用服务器等。例如,Tomcat或JBoss这样的应用服务器需要JDK来运行Java...

    prometheus-2.29.1.linux-amd64.tar.gz

    Prometheus 是一个开源的系统监控和警报工具包,它被广泛用于收集、处理、聚合和存储各种...通过下载并解压"prometheus-2.29.1.linux-amd64.tar.gz",你就可以开始配置和使用这个强大的工具来监控你的Linux系统和服务。

    jdk-8u91-linux-x64.tar.gz

    6. **jconsole**:Java可视化监控工具,显示JVM的性能数据。 7. **jvisualvm**:集成的多用途Java应用程序性能分析工具。 8. **javap**:显示类文件的字节码信息。 除此之外,JDK还包含了Java运行时环境(JRE),这...

    jdk-8u333-linux-aarch64.tar.gz

    3. **运维**:指的是系统运维,包括安装、配置、监控、优化和维护IT基础设施,确保系统的稳定运行。 4. **服务器**:这些JDK可能被部署在提供各种服务的服务器上,如Web服务器、数据库服务器等。 5. **嵌入式硬件**...

    jdk-8u321-linux-aarch64.tar.gz

    这包括监控JVM性能(通过jstat、jmap、jstack等工具)、调整JVM参数(如-Xms、-Xmx、-XX:MaxHeapSize等)以及处理常见的内存溢出问题。此外,JDK 8u321还包括了安全性更新和性能优化,因此定期升级到最新版本对于...

    jdk-8u311-linux-aarch64.tar.gz

    此外,还有`javadoc`用于生成API文档,`jps`列出正在运行的Java进程,`jmap`用于内存映射,`jconsole`提供图形化监控工具等。 9. **Java 8的关键特性**: 包括Lambda表达式、方法引用、Stream API、默认方法(接口中...

    etcd-v3.0.9-linux-amd64.tar.gz

    5. **监控与日志**: 提供了更好的监控指标和详细的日志记录,方便故障排查。 **解压后的文件结构** 解压`etcd-v3.0.9-linux-amd64.tar.gz`后,会得到一个名为`etcd-v3.0.9-linux-amd64`的目录,通常包含以下内容:...

    etcd-v3.4.13-linux-amd64.tar.gz

    《etcd v3.4.13:分布式键值存储系统在Linux x86_64平台上的实现》 etcd是Google开源的一款基于Golang编写的分布式键值存储系统,它被广泛应用于微服务架构和Kubernetes等容器编排系统中,用于存储和管理关键配置和...

    最新版linux jdk-8u301-linux-x64.tar.gz

    在Linux环境下,开发者还可以利用JDK的命令行工具,如`jps`查看Java进程,`jstat`监控JVM统计信息,`jmap`用于内存映射,以及`jstack`用于生成线程堆栈跟踪,这些都是进行性能调优和问题排查的重要工具。 总的来说...

    jdk-8u161-linux-x64.rpm.zip

    此外,开发者还可以利用JDK中的各种工具,如JConsole进行性能监控,JVisualVM进行内存分析,或者Javadoc生成API文档。 总结来说,"jdk-8u161-linux-x64.rpm.zip"是一个适用于Linux 64位系统的Java Development Kit...

Global site tag (gtag.js) - Google Analytics