Linux常用监控命令介绍

合集下载

Linux服务器上监控网络带宽的18个常用命令

Linux服务器上监控网络带宽的18个常用命令

Linux服务器上监控⽹络带宽的18个常⽤命令本⽂介绍了⼀些可以⽤来监控⽹络使⽤情况的Linux命令⾏⼯具。

这些⼯具可以监控通过⽹络接⼝传输的数据,并测量⽬前哪些数据所传输的速度。

⼊站流量和出站流量分开来显⽰。

这些⼯具使⽤不同的机制来制作流量报告。

nload等⼀些⼯具可以读取"proc/net/dev"⽂件,以获得流量统计信息;⽽⼀些⼯具使⽤pcap库来捕获所有数据包,然后计算总数据量,从⽽估计流量负载。

下⾯是按功能划分的命令名称。

监控总体带宽使⽤――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload监控总体带宽使⽤(批量式输出)――vnstat、ifstat、dstat和collectl每个套接字连接的带宽使⽤――iftop、iptraf-ng、tcptrack、pktstat、netwatch和trafshow每个进程的带宽使⽤――nethogsnagiosweb------nagios1. nloadnload是⼀个命令⾏⼯具,让⽤户可以分开来监控⼊站流量和出站流量。

它还可以绘制图表以显⽰⼊站流量和出站流量,视图⽐例可以调整。

⽤起来很简单,不⽀持许多选项。

所以,如果你只需要快速查看总带宽使⽤情况,⽆需每个进程的详细情况,那么nload⽤起来很⽅便。

结果是bit/s1. $ nload安装nload:Fedora和Ubuntu在默认软件库⾥⾯就有nload。

CentOS⽤户则需要从Epel软件库获得nload。

2. iftopiftop可测量通过每⼀个套接字连接传输的数据;它采⽤的⼯作⽅式有别于nload。

iftop使⽤pcap库来捕获进出⽹络适配器的数据包,然后汇总数据包⼤⼩和数量,搞清楚总的带宽使⽤情况。

虽然iftop报告每个连接所使⽤的带宽,但它⽆法报告参与某个套按字连接的进程名称/编号(ID)。

不过由于基于pcap库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使⽤情况。

使用watch命令在Linux中实时监控命令输出

使用watch命令在Linux中实时监控命令输出

使用watch命令在Linux中实时监控命令输出在Linux系统中,有时我们需要实时监控某个命令的输出结果,以便及时获取或查看更新的信息。

为此,Linux系统提供了一个非常实用的命令——watch。

watch命令可以在终端中周期性地运行某个命令,并将命令的输出实时显示出来。

通过watch命令,我们可以不断地监控某个命令的执行结果,并及时获取最新的输出信息。

使用watch命令非常简单,只需要在终端中输入watch命令,紧接着输入要监控的命令即可。

下面是watch命令的基本用法:```watch <要监控的命令>```下面举个例子来说明watch命令的使用方法。

假设我们正在开发一个Web应用程序,并希望实时监控应用程序的日志输出。

我们可以使用tail命令来实时查看日志文件的更新内容,然后结合watch命令来实现监控。

具体的步骤如下:1. 打开终端,进入应用程序所在的工作目录。

2. 输入以下命令,使用tail命令实时查看日志文件的最后几行内容:tail -f log.txt```这里的log.txt是示例日志文件的文件名,请根据实际情况替换为你的日志文件名。

3. 在另一个终端中输入以下命令,使用watch命令实时监控tail命令的输出结果:```watch tail -n 10 log.txt```这里的-n参数指定了显示文件的最后10行内容,你可以根据实际需要调整这个参数的值。

现在,我们可以同时打开两个终端窗口,一个用于查看日志文件内容的变化,另一个用于监控命令的输出结果。

在监控命令的终端中,watch命令会每隔一段时间运行一次tail命令,并将结果实时显示出来。

这样,我们就可以方便地查看应用程序的最新日志输出了。

需要注意的是,watch命令默认每隔2秒刷新一次输出结果,你也可以使用参数-t来指定刷新间隔的时间,单位是秒。

例如,输入以下命令将刷新间隔设置为5秒:watch -t -n 5 tail -n 10 log.txt```另外,watch命令还可以通过参数--color来设置输出结果的颜色,使得结果更加醒目。

Linux命令进阶使用watch进行命令实时监控

Linux命令进阶使用watch进行命令实时监控

Linux命令进阶使用watch进行命令实时监控在Linux系统中,watch命令是一种非常实用的命令工具,它可以实时监控并显示指定命令的输出结果。

通过watch命令,我们可以方便地查看命令的实时输出,对于需要长时间运行的命令或者需要周期性地查看某个命令输出结果的场景非常有用。

本文将介绍watch命令的使用方法和一些常用的应用场景。

一、watch命令的基本用法watch命令的基本用法非常简单,可以通过以下命令格式来使用:watch [选项] 命令选项说明:-n,指定监控间隔时间,默认为2秒-d,高亮显示变化的地方-t,不显示watch命令本身的执行时间例如,我们想要实时监控目录下文件的变化情况,可以使用如下命令:watch -n 1 ls -l上述命令将每隔1秒执行一次ls -l命令,并实时显示其结果。

二、实时监控系统性能信息除了监控文件变化,watch命令还可以用于实时监控系统性能信息。

我们可以使用如下命令来查看系统CPU和内存使用情况:watch -n 1 'top -b -n 1 | head -n 5'上述命令将每隔1秒执行一次top命令,并显示其前5行输出结果,这样我们可以实时查看系统的CPU和内存使用情况。

三、监控命令执行过程有时候我们需要运行一些需要较长时间才能完成的命令,并希望能够实时地查看命令的执行过程。

watch命令提供了非常便捷的方式来实现这一需求。

例如,我们想要实时查看文件复制的进度,可以使用如下命令:watch -n 1 'ls -l /path/source && ls -l /path/destination'上述命令将每隔1秒执行一次ls命令,实时查看源文件和目标文件的大小变化情况。

四、自定义刷新周期和高亮显示通过使用watch命令的选项,我们可以自定义刷新周期和高亮显示。

例如,我们想要每隔3秒刷新一次输出,并高亮显示变化的地方,可以使用如下命令:watch -n 3 -d 'ls -l'上述命令将每隔3秒执行一次ls -l命令,并将变化的地方以高亮显示。

Linux命令高级技巧使用watch监控命令输出

Linux命令高级技巧使用watch监控命令输出

Linux命令高级技巧使用watch监控命令输出Linux命令高级技巧:使用watch监控命令输出Linux操作系统是一种开源的免费操作系统,被广泛应用于服务器和嵌入式系统中。

在Linux中,命令行是一种强大而高效的工具,可以通过各种命令来完成各种任务。

本文将介绍一项高级技巧,即使用watch命令监控其他命令的输出。

一、什么是watch命令?watch命令是Linux操作系统中的一个实用工具,可以周期性地运行指定的命令,并将其输出显示在终端上。

它的主要作用是方便用户实时监控命令的执行结果,以便及时了解命令的变化情况。

二、watch命令的使用方法watch命令的基本语法如下:watch [选项] 命令其中,选项是可选的,命令是要监控的命令。

下面是一些常用的选项:- -n或--interval:指定监控的时间间隔,默认为2秒。

- -d或--differences:突出显示命令输出中的差异部分。

- -t或--no-title:不显示watch命令的标题栏。

- -c或--color:将差异部分显示为不同的颜色。

例如,要周期性地执行ls命令并显示其输出,可以使用以下命令:watch ls此时,终端上将每隔2秒刷新一次ls命令的输出。

三、使用watch命令监控命令输出的实例1. 监控系统负载系统负载是指系统中正在运行的进程数和等待CPU资源的进程数。

使用top命令可以查看系统当前的负载情况,但top命令的输出太过频繁,不太方便观察。

可以使用watch命令来监控top命令的输出,只显示关键信息。

例如,要每隔5秒显示一次top命令的输出,只显示进程数和负载情况,可以使用以下命令:watch -n 5 'top -n 1 | grep "Tasks:"; top -n 1 | grep "load average"'此时,终端上将每隔5秒刷新一次top命令的输出,并只显示关键信息。

Linux命令高级技巧使用top和htop命令监控系统性能

Linux命令高级技巧使用top和htop命令监控系统性能

Linux命令高级技巧使用top和htop命令监控系统性能Linux是一种开源的操作系统,因其稳定性和灵活性而被广泛应用于服务器和个人电脑等领域。

为了确保系统正常运行并及时发现问题,我们需要使用一些命令来监控系统性能。

本文将介绍两个常用的命令——top和htop——以及如何使用它们来监控Linux系统性能。

一、top命令top命令是一个功能强大的系统性能监控工具,可以实时显示当前运行在系统中的进程信息。

以文本模式运行,提供了对CPU、内存、进程等关键指标的实时监控。

以下是top命令的使用示例:```$ top```该命令将显示类似下面的结果:```top - 15:27:09 up 4 days, 20:14, 1 user, load average: 0.09, 0.06, 0.08Tasks: 259 total, 1 running, 258 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 94.6 id, 0.0 wa, 5.0 hi, 0.0 si, 0.0 stKiB Mem : 8125688 total, 7763620 free, 221584 used, 1358484buff/cacheKiB Swap: 2097148 total, 2097148 free, 0 used. 7678604 avail MemPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND1 root 20 0 167772 68180 4552 S 0.0 0.8 0:12.52 init2 root 20 0 167656 1912 1076 S 0.0 0.0 0:00.14 rcuos/03 root 20 0 167656 1848 1032 S 0.0 0.0 0:00.15 rcuos/14 root 20 0 167656 1712 968 S 0.0 0.0 0:00.12 rcuos/25 root 20 0 167656 1836 1020 S 0.0 0.0 0:00.13 rcuos/3...```在top命令的结果中,可以看到运行的进程列表,并显示了各个进程的详细信息,如PID、用户、CPU占用率、内存占用率等。

Linux终端中的进程管理和监控

Linux终端中的进程管理和监控

Linux终端中的进程管理和监控在Linux终端中,进程的管理和监控是系统管理者和开发人员必备的技能之一。

通过合理的进程管理和监控,可以保证系统的稳定性和正常运行。

本文将介绍Linux终端中进程管理和监控的相关知识,并提供一些实用的命令和工具供读者参考。

一、进程管理在Linux系统中,每个正在运行的程序都是一个进程。

进程管理的任务包括启动、停止、监控和调整进程的运行状态等。

下面是一些常用的进程管理命令及其功能:1. ps命令:用于查看当前系统中运行的进程信息。

通过不同的选项,可以显示进程的PID(进程ID)、状态、内存占用等详细信息。

2. kill命令:用于终止指定的进程。

可以通过进程ID(PID)或进程名来指定要终止的进程。

3. top命令:用于实时监控系统中的进程状态。

它可以显示当前运行的进程列表,并实时更新进程的CPU利用率、内存占用等信息。

4. renice命令:用于调整进程的优先级。

可以通过指定进程ID或进程名,设置进程的优先级,以调整系统资源的分配。

二、进程监控除了上述命令外,Linux终端还提供了一些工具用于进程的监控和管理。

下面是一些常用的进程监控工具及其功能:1. System Monitor:一个图形化的工具,用于实时监控系统的状态和进程信息。

它可以以图表的形式显示CPU利用率、内存占用、网络流量等信息,并提供用于杀死进程、调整优先级等功能。

2. htop:一个更加强大的进程监控工具,相比于top命令,htop提供了更多的功能和定制选项。

它可以以交互式的方式显示系统状态和进程信息,并允许用户进行进一步的操作,如终止进程、修改优先级等。

3. systemd:一个集成的系统和服务管理工具。

通过systemd,可以对系统中的进程进行监控和管理,包括启动、停止、重启进程等操作。

它还提供了一些高级功能,如进程的自动重启、进程的依赖管理等。

4. monit:一个轻量级的进程监控工具,可用于监控系统中的进程和服务。

Linux系统的网络流量监控和分析方法

Linux系统的网络流量监控和分析方法

Linux系统的网络流量监控和分析方法随着网络的发展和应用的广泛,对于网络流量的监控和分析变得越来越重要。

在Linux系统中,有许多方法可以实现对网络流量的监控和分析。

本文将介绍一些常用的Linux 系统的网络流量监控和分析方法,并分析其优缺点。

1. 使用ifconfig命令ifconfig命令是一个非常简单且常用的命令,用于配置和显示网络接口。

它可以用来监控网络接口的发送和接收数据量。

通过使用ifconfig命令,可以查看网络接口的IP地址、子网掩码、网络状态等信息。

然而,ifconfig命令只提供基本的网络接口信息,无法进行深入的网络流量分析。

2. 使用netstat命令netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据。

使用netstat命令可以查看当前连接状态、监听端口、路由表等信息。

此外,netstat命令还可以用于查看网络接口的流量统计,包括接收和发送数据包的数量。

然而,与ifconfig命令类似,netstat命令只提供基本的网络流量信息,无法进行详细的流量分析。

3. 使用tcpdump命令tcpdump命令是一个功能强大的网络抓包工具。

它可以捕获网络接口上的数据包,并将其以文本形式显示出来。

tcpdump命令可以根据用户定义的过滤器来捕获特定类型的数据包,如IP地址、端口号、协议类型等。

通过分析捕获的数据包,可以了解网络流量的来源、目的地、传输协议等信息。

但是,tcpdump命令对于非专业人士来说有一定的学习曲线,并且在大规模网络环境下处理大量数据包时,可能会影响系统性能。

4. 使用nload命令nload命令是一个简单易用的网络流量监控工具。

它能够实时显示网络接口的流量情况,包括接收和发送的数据量、网络带宽利用率等信息。

nload命令提供了一个直观的图形界面,可以方便地监控网络接口的流量变化。

然而,nload命令只提供基本的流量监控功能,无法进行深入的流量分析。

Linux命令行中的进程监控技巧htopatop和nmon命令详解

Linux命令行中的进程监控技巧htopatop和nmon命令详解

Linux命令行中的进程监控技巧htopatop和nmon命令详解Linux命令行中的进程监控技巧:htop、atop和nmon命令详解在Linux系统中,进程监控是一项重要的任务,它可以帮助我们了解系统的运行状态、资源利用情况以及解决性能瓶颈等问题。

本文将详细介绍三个常用的命令行工具:htop、atop和nmon,它们都可以用于进程监控,但在功能和用法上有些许差异。

一、htop命令htop是一个交互式的进程监控工具,提供了比top命令更加直观和友好的界面。

使用htop,我们可以轻松地查看系统中运行的进程,并实时了解它们的CPU、内存和I/O等资源的使用情况。

下面是htop命令的使用示例及相关说明:1. 安装htop命令:sudo apt-get install htop2. 运行htop命令:htop3. htop界面说明:htop的界面由多个区域组成,包括进程列表、系统摘要、进程树、CPU和内存占用情况等。

通过上下左右箭头键可以在不同区域之间切换,按F1键可以查看帮助文档。

在进程列表中,我们可以看到每个进程的PID、用户、CPU占用率、内存占用率等信息,并可以通过快捷键对进程进行操作,如杀死进程、跟踪进程等。

二、atop命令atop是另一个功能强大的进程监控工具,它可以提供比top和htop 更为详细的系统状态信息,并且支持日志记录功能。

下面是atop命令的使用示例及相关说明:1. 安装atop命令:sudo apt-get install atop2. 运行atop命令:sudo atop3. atop界面说明:atop的界面分为多个区域,包括系统摘要、进程列表、资源占用情况、磁盘IO、网络流量等。

在进程列表中,我们可以看到每个进程的PID、用户、CPU占用率、内存占用率、磁盘IO等信息,并且atop支持按字段排序和过滤功能,方便我们查找和分析进程。

同时,atop可以记录系统状态信息到日志文件中,我们可以使用atop命令读取和分析这些日志。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常用监控命令介绍LinuxLinux常用监控命令介绍基础应用组 梁若羽2011-07-12内容常用监控命令基础知识在实战中综合运用培训目标1234培训目标掌握常用监控命令的用途和启用方法熟悉各个关键输出参数的真实含义了解Linux操作系统的一些基本原理抛砖引玉,交流经验内容常用监控命令基础知识在实战中综合运用培训目标1234基础知识基础知识——————核心态与用户态核心态与用户态核心态:ring 0,操作系统内核代码运行的模式,可以无限制访问系统存储、外部设备用户态:ring 3,应用程序自身代码运行的模式,非特权状态,能够访问的地址空间是有限的系统调用:核心态开放给用户态的接口,以软中断实现函数调用:用户态层面的概念,与核心态无关系统调用无处不在,哪怕是最简单的hello world!strace命令能够显示所有在程序中使用的系统调用int main(void) {printf("hello world!");return 0;}$ strace ./helloworld...write(1, "hello world!", 12hello world!) = 12exit_group(0) = ?进程组是一个或多个进程的集合,进程组ID是该组的领头进程的pid会话是一个或多个进程组的集合,当前与终端交互的进程组为前台进程组,只能有一个,其余为后台进程组基础知识——进程的几种状态基础知识——僵尸进程进程已死亡,但父进程没有收尸,该进程就成僵尸进程僵尸进程不打开任何文件,几乎不占内存,但是占据进程表的资源,进程表记录pid、进程状态、CPU时间等僵尸状态是每个子进程结束时必经的状态系统监控中出现大量僵尸进程,应检查其父进程代码基础知识——上下文切换上下文是指进程在CPU的执行环境,例如寄存器状态进程挂起时,保存其上下文,再次运行时恢复基础知识——虚拟内存与页面每个进程都有其地址空间,地址空间在逻辑上是连续的物理上可以被分为多个RAM碎片,也可以有部分暂存在磁盘,使得进程可用的内存比实际内存要多操作系统把虚拟内存分成一个个页面来管理,Linux的页面大小通常为4K当要访问的逻辑页面不在物理内存时,产生缺页中断内存不足时,淘汰旧页面,换入新页面,页面交换有paging和swapping之分基础知识——常规页面一些大型应用,例如关系数据库等,如仍然使用4K大小的页面,页表必然很大,影响效率基础知识——巨页使用巨页能够以较小的页表映射较多的内存基础知识——虚拟化技术Hypervisor:运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统共享硬件991原则:90%的服务器在90%的时间,CPU使用率低于10%连接状态基础知识——tcptcp连接状态连接建立时的tcp状态变迁客户端:SYN_SENT、ESTABLISHED服务端:LISTEN、SYN_RECV、ESTABLISHED连接关闭时的tcp状态变迁主动方:ESTABLISHED、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSED被动方:ESTABLISHED、CLOSE_WAIT、LAST_ACK、CLOSED一个特殊的tcp状态连接双方同时关闭:CLOSING基础知识——三次握手与四次握手基础知识——同时连接与同时关闭连接基础知识小结核心态与用户态系统调用进程组与会话进程的几种状态、僵尸进程、上下文切换虚拟内存、缺页中断、页面交换、巨页tcp连接状态虚拟化技术Q.为什么从这些概念开始?A.因为这些对于理解命令的输出大有裨益内容常用监控命令基础知识在实战中综合运用培训目标1234汇总区域显示五个方面系统性能信息负载:时间、登录用户数、系统平均负载进程:运行、睡眠、停止、僵尸CPU:用户态、核心态、NICE、空闲、等待IO、中断等内存:总量、已用、空闲(系统角度的)、缓冲、缓存交换分区:总量、已用、空闲任务区域默认显示:进程ID、有效用户、进程优先级、NICE值、进程使用的虚拟内存、物理内存和共享内存、进程状态、CPU占用率、内存占用率、累计CPU时间、进程命令行信息使用交互命令f可选择更多列名描述列名描述PPID父进程ID CODE代码段大小RUSER实际用户DATA数据段+栈大小TTY终端名nFLT缺页中断次数P或者#C进程调度的CPU nDRT脏页数SWAP进程使用的交换分区大小…………备注描述命令类型手动刷新空格或回车保存设置W 其它设置显示某个实际用户的任务U两者究竟有何区别?设置显示某个有效用户的任务u 设置显示的任务数n或者#线程、进程显示切换H 显示字段选择f命令行信息切换c 任务区显示对于设置了粘着位的程序,有效用户与实际用户的区别命令——主要命令行参数Linux iostatLinux iostat命令iostat -c:见top命令的CPU信息iostat -d:吞吐率、每秒读写、总的读写iostat -x:每秒读写次数、平均IO队列长度、平均每次IO操作总耗时、平均每次IO操作的实际执行时间、IO使用率一个隐藏的等式:%util = (r/s + w/s) * svctm / 10打印内核“环缓冲区”的信息内核“环缓冲区”保存Linux开机信息也记录某些程序的内存错误(segfault)查看文件系统阻塞,解决umount busy问题查看监听端口被哪个进程占用查看用户打开哪些文件查看进程打开哪些文件查看远程已打开的网络连接Linux ps命令Linux ps命令Linux vmstat命令Linux vmstat命令内存不足以致页面交换频繁,系统性能下降从下面的截图可以看出哪些性能指标?free memory急剧减少,回收buffer和cache也无济于事,于是大量使用交换分区(swpd),页面交换(swap)频繁,读写磁盘数量(io)增多,缺页中断(in)增多,上下文切换(cs)次数增多,等待IO的进程数(b)增多,大量CPU时间用于等待IO(wa)监控磁盘IO,与iostat类似监控页面交换,paging与swapping如果页面回收率(%vmeff)接近100,表示几乎所有被列入回收列表的页面都能够被正常回收如果%vmeff太低,又不是0.00,表示内存有瓶颈监控内存、交换分区、巨页页面sar -R:空闲内存页面、缓冲页面和缓存页面的变化趋势sar -r:当前内存的使用信息,与free命令类似sar -S:当前交换分区的使用信息,与free命令类似sar -H:当前巨页页面的信息监控CPU、进程创建与上下文切换、运行队列与负载proc/s:平均每秒创建的进程数cswch/s:平均每秒的上下文切换次数runq-sz:等待运行时间片的进程数plist-sz:进程列表的总数ldavg-x:过去一段时间内的系统平均负载,即进程状态为R或D的加权平均数blocked:当前被IO阻塞的进程数内容常用监控命令基础知识在实战中综合运用培训目标1234首先,使用w查看系统负载$ w10:46:36 up 85 days, 14:17, 4 users, load average: 6.52, 5.57, 5.55分析:负载比较高,系统资源出现瓶颈第二,使用vmstat查看系统大致状况$ vmstat 2procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------r b swpd free buff cache si so bi bo in cs us sy id wa st0 4 36212 524784 126016 4780220 0 0 33 21 0 0 6 7 80 7 02 0 36212 468396 126664 4800532 0 0 602 15382 13900 18410 9 14 69 8 02 3 36212 441572 127064 4792600 0 0 2024 56110 13754 14710 8 11 68 14 00 0 36212 477532 127572 4777576 0 0 1208 20356 13661 8726 5 9 70 17 00 1 36212 509236 128116 4744336 0 0 1880 11172 13646 11622 7 9 80 4 06 1 36212 508344 128688 4722108 0 0 2290 23354 13815 10977 7 10 73 10 04 0 36212 459968 129264 4766660 0 0 1404 64 13357 16221 9 12 77 3 01 2 36212 462180 129712 4752460 0 0 486 40270 13674 14392 8 11 70 10 0分析:交换分区无变化、也无页面交换,排除内存不足;CPU的idle值维持在70%以上,基本可排除CPU的问题;但是,每秒写的块数(bo)很大,CPU的IO wait(wa)也不低,IO方面可能存在瓶颈第三,使用iostat分析IO瓶颈$ iostat -d -x 1Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 8320.00 0.00 470.00 0.00 97552.00 207.56 135.86 304.25 2.13 100.10 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ...sda8 0.00 8320.00 0.00 470.00 0.00 97552.00 207.56 135.86 304.25 2.13 100.10 sdb 41.00 10.00 24.00 120.00 6328.00 1040.00 51.17 5.75 39.92 2.00 28.80 sdb1 41.00 10.00 24.00 120.00 6328.00 1040.00 51.17 5.75 39.92 2.00 28.80分析:IO集中在sda8,%util很高,await远远大于svctm,avgqu-sz也很大,满足IO瓶颈的全部条件第四,使用df查看磁盘空闲块和inode$ df -h /dev/sda8Filesystem Size Used Avail Use% Mounted on/dev/sda8 114G 1.5G 106G 2% /home$ df -i /dev/sda8Filesystem Inodes IUsed IFree IUse% Mounted on/dev/sda8 30M 19K 30M 1% /home分析:均有空闲,排除资源接近耗尽,此外,业务日志写在sdb1分区,也可排除写入大量业务日志带来的压力在实战中综合运用在实战中综合运用(3)(3)41第五,使用lsof 查看什么进程操作/home目录下的文件$ lsof -n | grep homenginx 6010 cws 286u REG 8,8 16760832 11206661 /home/cws/cwsserver/fastcgi_temp/0000002200 (deleted)nginx 6010 cws 687u REG 8,8 7332864 11206673 /home/cws/cwsserver/fastcgi_temp/0000002397 (deleted)nginx 6011 cws 473u REG 8,8 16760832 11206671 /home/cws/cwsserver/fastcgi_temp/0000001976 (deleted)...分析:没有发现其它异常,但有大量的nginx fastcgi信息,看上去与此有关第六,排查、修改nginx的fastcgi设置解决:nginx.conf中没有fastcgi的设置,即使用默认参数,fastcgi缓冲区大小为36k ,对于部分response来说太小,把它适当改大,问题解决。

相关文档
最新文档