linux监控
- 格式:docx
- 大小:1.27 MB
- 文档页数:28
Linux终端中的进程监控命令在Linux终端中,有许多进程监控命令可以帮助我们实时追踪和管理系统中的进程。
这些命令提供了对进程的各种信息和操作的能力,能够帮助我们更好地了解系统的运行状态并进行必要的调优和维护。
一.ps命令ps命令是一个常用的进程监控命令,它可以显示当前系统中运行的进程信息。
通过`ps`命令可以获取到进程的PID(进程ID)、PPID (父进程ID)、CPU利用率、内存消耗等信息。
* 示例:`ps -ef`二.top命令top命令是一个实时的系统监控工具,能够以交互的方式显示当前系统中运行的进程信息。
top命令可以按照CPU利用率、内存消耗等指标对进程进行排序,并且可以动态刷新显示。
* 示例:`top`三.htop命令htop命令是top命令的一个更加强大和友好的替代品,它在top命令的基础上提供了图形化的界面和更多的功能。
htop命令可以更直观地显示系统中的进程信息,并且可以通过快捷键进行交互操作。
* 示例:`htop`pidstat命令是一个用于监控进程资源使用情况的工具,它可以显示进程的CPU利用率、内存消耗、磁盘IO、网络IO等信息。
pidstat命令还可以对指定进程进行监控,并且可以设置监控时间间隔和次数。
* 示例:`pidstat -p <PID>`五.strace命令strace命令可以跟踪进程的系统调用和信号传递,从而帮助我们分析进程的行为。
strace命令可以显示进程执行的系统调用、参数和返回值,可以帮助我们定位进程中的问题。
* 示例:`strace -p <PID>`六.lsof命令lsof命令用于显示系统中已打开的文件列表,包括普通文件、目录、管道、网络连接等。
lsof命令可以帮助我们查找系统中的资源泄漏和文件句柄问题,并可以按照进程ID过滤显示。
* 示例:`lsof -p <PID>`七.kill命令kill命令用于终止指定的进程,可以根据进程ID或者进程名来进行操作。
在Linux中使用Python脚本实现服务监控和重启Linux作为一个稳定可靠的操作系统,广泛应用于服务器领域。
其中,对于服务的监控和重启是一项重要任务,可以确保服务的稳定性和可用性。
本文将介绍如何使用Python脚本在Linux中实现服务监控和重启的方法。
一、服务监控服务监控是指实时监测服务的运行状态,当服务出现异常时及时发出警报并采取相应的措施。
在Linux中,可以通过Python脚本来实现服务监控的功能。
首先,我们需要了解如何使用Python脚本来监控服务的运行状态。
可以通过subprocess模块来执行Linux系统命令,并获取命令的返回结果。
下面是一个示例代码:```pythonimport subprocessdef check_service_status(service_name):result = subprocess.run(["systemctl", "is-active", service_name], capture_output=True)return result.stdout.decode().strip()if __name__ == "__main__":service_name = "httpd" # 替换为你要监控的服务名status = check_service_status(service_name)print(f"The status of {service_name} is {status}")```上述代码中,我们使用了`subprocess.run`方法来执行`systemctl is-active`命令,通过该命令可以获取服务的运行状态。
然后,我们将命令的输出结果进行解码和处理,得到服务的状态信息。
通过以上代码片段,我们可以编写一个完整的Python脚本来监控多个服务的状态。
linux 运维监控指标
以下是一些常见的Linux 运维监控指标:
1. 系统性能指标:
- CPU 使用率:包括用户空间、内核空间和空闲时间的百分比。
- 内存使用情况:可用内存、已用内存和缓存的大小。
- 磁盘I/O:磁盘读取和写入的速度、IOPS(每秒I/O 操作数)和磁盘使用率。
- 网络带宽:网络输入和输出的带宽使用情况。
2. 进程和服务:
- 进程状态:检查运行中的进程及其资源使用情况。
- 服务状态:监控关键服务的运行状态,如Web 服务器、数据库等。
3. 系统日志:
- 查看系统日志以检测错误、警告和异常情况。
4. 文件系统:
- 监控文件系统的容量使用情况,包括空闲空间和文件数量。
5. 网络连接:
- 监控网络连接数、活动连接和异常的网络活动。
6. 性能计数器:
- 收集和分析性能计数器,如CPU 缓存命中率、页面错误等。
7. 硬件健康:
- 监控硬件传感器数据,如温度、风扇速度和硬盘健康状况。
这些指标可以通过命令行工具(如top、iostat、df、sar 等)、系统监控工具(如Nagios、Zabbix、Prometheus 等)或云监控服务来收集和监控。
根据实际需求,你可以选择适合的工具和指标来确保系统的稳定性和性能。
Linux上的系统监控工具比较NagiosvsZabbix在Linux系统中,系统监控工具起着至关重要的作用,帮助管理员实时监测系统状态和性能指标。
Nagios和Zabbix是两款流行的系统监控工具,它们在功能和使用上有所差异。
本文将对Nagios和Zabbix进行比较,以帮助读者选择适合自己需求的系统监控工具。
一、NagiosNagios是一款开源的系统监控工具,通过监测主机、服务和网络设备等方面来保证系统的可用性。
它具有以下特点:1. 灵活性:Nagios可以监控各种类型的主机、服务和设备,例如服务器、路由器、数据库等。
用户可以根据自己的需求,通过自定义插件来监测不同的指标。
2. 强大的告警功能:Nagios可以设置各种告警规则和通知方式,当系统出现故障或达到预定的阈值时,及时发送告警信息给管理员。
3. 可扩展性:Nagios拥有丰富的第三方插件和扩展,可以方便地与其他系统集成,满足复杂的监控需求。
4. 灵活的配置:Nagios使用文本配置文件进行管理,管理员可以根据需要编辑配置文件,实现对监控对象和监控指标的灵活配置。
二、ZabbixZabbix也是一款开源的系统监控工具,具有以下特点:1. 自动发现功能:Zabbix可以自动发现并监控网络设备、服务器和服务。
这个功能可以大大减轻管理员配置监控对象的工作量。
2. 实时监控和图形化展示:Zabbix提供实时数据监控和图形化展示功能,可以直观地查看系统的各项性能指标和状态。
3. 强大的报表功能:Zabbix可以生成各种类型的报表,帮助管理员分析历史数据、趋势和性能统计等。
4. 可视化配置:Zabbix提供直观的Web界面进行配置和管理,管理员可以通过图形化界面完成监控对象和监控指标的配置。
三、Nagios vs ZabbixNagios和Zabbix在功能和使用上都有各自的优势,下面对它们进行比较:1. 配置和管理:Nagios使用文本配置文件进行管理,需要具备一定的技术能力和配置经验。
Linux下的网络监控与流量分析工具推荐一、概述网络监控与流量分析是确保网络安全和优化网络性能的重要任务之一。
在Linux系统中,有许多强大的工具可以用于网络监控和流量分析。
本文将向您推荐几个在Linux下广泛使用的网络监控和流量分析工具,帮助您实现高效的网络管理。
二、网络监控工具推荐1. NagiosNagios是一款功能强大的开源网络监控工具。
它能够实时监测网络中的各类设备和服务状态,并通过邮件或短信等方式告警管理员。
Nagios提供了友好的Web界面,使得监控配置和管理变得更加简单和直观。
2. ZabbixZabbix是一款开源的企业级网络监控工具。
它支持多种监控方式,包括SNMP、ICMP和TCP等,能够监控网络设备、服务器以及各种应用程序。
Zabbix提供了强大的图形化报表和警报功能,可帮助管理员快速识别和解决网络问题。
3. CactiCacti是一款基于RRDTool的网络流量图监控工具。
它能够图形化展示网络设备的流量使用情况,如带宽利用率、流量趋势等。
Cacti提供了自定义图表和阈值警报功能,可根据需求灵活调整监控策略。
三、流量分析工具推荐1. WiresharkWireshark是一款知名的网络协议分析工具。
它能够捕获和分析网络数据包,帮助管理员深入了解网络通信协议和流量。
Wireshark提供了强大的过滤和统计功能,支持多种协议,并且具备用户友好的图形化界面。
2. ntopntop是一款实时流量分析工具,能够监控和分析网络流量的来源、目的和类型等信息。
ntop提供了先进的数据收集、存储和可视化处理能力,可以生成各种统计报表,帮助管理员更好地了解网络流量状况。
3. tcpdumptcpdump是一款命令行流量分析工具,在Linux系统中被广泛应用。
它能够捕获和显示网络数据包的详细信息,如源IP、目的IP、协议类型等。
tcpdump支持使用BPF过滤器,只捕获感兴趣的数据包,提高处理效率。
Linux命令行中的硬件监控和故障预警技巧与实用工具在Linux命令行中,硬件监控和故障预警是确保系统正常运行和提高系统可靠性的重要方面。
本文将介绍一些硬件监控和故障预警的技巧和实用工具,帮助您更好地管理和维护Linux系统。
1. 系统状态查看Linux命令行提供了一些命令,用于查看系统的状态信息,例如:- uptime:显示系统的运行时间和当前登录用户数量。
- top:实时监控系统的资源使用情况,包括CPU、内存、磁盘等。
- free:显示系统内存的使用情况。
- df:显示文件系统的磁盘空间使用情况。
- iostat:显示系统的I/O性能。
通过使用这些命令,您可以及时了解系统的整体状态,发现异常情况并采取相应的措施。
2. 温度监控在Linux命令行中,可以通过lm_sensors工具来监控硬件的温度。
lm_sensors可以读取传感器数据,包括CPU、主板、硬盘等温度信息。
要使用lm_sensors,您需要先安装并配置它。
安装过程因Linux发行版而异,您可以参考相应文档或使用包管理工具进行安装。
安装完成后,运行sensors命令即可查看传感器的温度信息。
3. 硬盘监控硬盘是系统中最脆弱的组件之一,磁盘故障可能导致数据丢失和系统崩溃。
为了监控硬盘的健康状态,可以使用smartmontools工具。
smartmontools可以通过S.M.A.R.T(自监测、分析和报告技术)来监控硬盘的各种指标,包括温度、传输错误、磁盘寿命等。
您可以使用smartctl命令来查看硬盘的S.M.A.R.T信息,例如:```smartctl -a /dev/sda```通过定期运行smartctl命令,您可以及时检测到潜在的硬盘问题,并采取相应的措施,例如备份数据或更换硬盘。
4. 内存监控内存是系统性能的重要因素,过高的内存使用可能导致系统变慢甚至崩溃。
在Linux命令行中,可以使用free命令来查看内存的使用情况。
Zabbix Agent 是 Zabbix 监控系统的重要组成部分,用于采集被监控对象的各种信息。
在 Linux 系统中,Zabbix Agent 可以监控许多基础指标,以下是一些常见的监控项:
1.CPU 使用率:监控 CPU 的使用情况,包括用户空间、系统空间、空闲和等
待时间等。
2.内存使用:监控内存的使用情况,包括总内存、已用内存、空闲内存和缓存
内存等。
3.磁盘 I/O:监控磁盘的读写情况,包括读写速度、I/O 请求队列等。
4.网络流量:监控网络接口的流量情况,包括入向和出向的流量、丢包率等。
5.进程监控:监控指定进程的状态、CPU 和内存占用等。
6.文件系统使用情况:监控文件系统的使用情况,包括已用空间、可用空间和
挂载点等。
7.系统日志:监控系统日志,包括错误日志、警告日志和信息日志等。
除了以上基础指标外,还可以根据具体需求自定义监控项,例如监控特定服务的状态、应用程序的性能指标等。
通过 Zabbix Agent 的定时任务将这些指标采集并发送到 Zabbix Server,可以在 Zabbix Web 界面中实时查看和告警,以便及时发现潜在的问题并进行处理。
Linux系统进程监控脚本使用Shell脚本监控系统进程并自动重启Shell脚本作为一种自动化脚本语言,可在Linux系统中编写和执行各种任务。
其中,一项重要的任务是监控系统进程并在必要时自动重启。
本文将介绍如何使用Shell脚本来实现Linux系统进程监控和自动重启的功能。
一、编写监控脚本首先,我们需要编写一个监控脚本来监控系统中的进程。
以下是一个示例的监控脚本:```#!/bin/bashprocess_name="example_process" # 要监控的进程名称while truedoprocess_num=$(pgrep $process_name | wc -l) # 统计进程数量if [ $process_num -eq 0 ]; then # 如果进程数量为0echo "进程 $process_name 未运行,正在尝试重新启动..."# 重新启动进程的命令,例如:# /path/to/example_process &# 注意加上后台运行符号&fisleep 60 # 休眠60秒,避免频繁检测done```在上述脚本中,首先定义了要监控的进程名称为`example_process`,然后使用一个无限循环来检测进程是否在运行。
通过`pgrep`命令和`wc -l`命令可以统计指定进程名称的进程数量。
如果进程数量为0,则输出提示信息,并执行重启进程的操作(根据实际情况自行修改重启命令)。
最后,使用`sleep`命令休眠60秒,以避免频繁检测。
二、保存并设置执行权限将上述脚本保存为一个以`.sh`为后缀的文件,例如`monitor_process.sh`。
然后,通过命令`chmod +x monitor_process.sh`为脚本文件添加执行权限。
三、设定定时任务为了让监控脚本能够定期执行,我们可以使用Linux系统中的定时任务功能。
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命令读取和分析这些日志。
Linux系统服务监控脚本使用Shell脚本实现对Linux系统服务运行状态的监控和报警在Linux系统中,运行着许多关键的服务,如网络服务、数据库服务等。
它们在系统运行中扮演着重要的角色。
然而,有时候这些服务可能会出现故障或停止运行,给系统的正常运行带来风险。
为了保证系统的可靠性和稳定性,我们需要实现对这些服务的监控和报警。
本文将介绍如何使用Shell脚本来实现Linux系统服务监控,并在需要时发送报警通知。
一、监控服务状态1. 创建监控脚本首先,我们需要创建一个Shell脚本,用于监控特定的服务。
使用文本编辑器,创建一个后缀名为.sh的文件,比如monitor.sh,并设置相应的执行权限。
2. 编写监控脚本代码在monitor.sh文件中,我们将使用systemctl命令来检查服务的状态。
以下是一个示例脚本,用于监控Apache Web服务器的运行状态:```bash#!/bin/bash# 定义服务名称SERVICE="httpd"# 检查服务状态status=$(systemctl is-active $SERVICE)# 判断服务状态if [[ $status != "active" ]]; thenecho "服务 $SERVICE 未运行!"# 在此处添加发送报警通知的代码fi```在脚本中,我们使用systemctl is-active命令来获取服务的状态,并将其存储在变量status中。
然后,使用条件语句判断服务状态是否为"active",如果不是,则输出一条错误信息。
3. 添加更多服务监控根据需要,你可以在脚本中添加更多的服务监控代码。
只需将上述步骤中的SERVICE变量修改为你要监控的服务名称,并添加相应的判断逻辑即可。
二、实现报警功能当监控脚本检测到服务状态异常时,我们希望能够及时收到报警通知。
一. Linux 性能监控的概述系统由若干子系统构成,通常修改一个子系统有可能影响到另外一个子系统,甚至会导致整个系统不稳定、崩溃。
所以说优化、监测、测试通常是连在一起的,而且是一个循环而且长期的过程,通常监测的子系统有以下这些:(1). CPU(2). Memory(3). IO(4). Network这些子系统互相依赖,了解这些子系统的特性,监测这些子系统的性能参数以及及时发现可能会出现的瓶颈对系统优化很有帮助。
1.1 应用类型不同的系统用途也不同,要找到性能瓶颈需要知道系统跑的是什么应用、有些什么特点,比如 web server 对系统的要求肯定和 file server 不一样,所以分清不同系统的应用类型很重要,通常应用可以分为两种类型:(1)IO 相关,IO 相关的应用通常用来处理大量数据,需要大量内存和存储,频繁 IO 操作读写数据,而对 CPU 的要求则较少,大部分时候 CPU 都在等待硬盘,比如,数据库服务器、文件服务器等。
(2)CPU 相关,CPU 相关的应用需要使用大量 CPU,比如高并发的 web/mail 服务器、图像/视频处理、科学计算等都可被视作 CPU 相关的应用。
看看实际中的例子,第1个是文件服务器拷贝一个大文件时表现出来的特征:$ vmstat 1procs -----------memory---------- ---swap-- -----io---- --system-------cpu------r b swpd free buff cache si sobi bo in cs us sy id wa st0 4 140 1962724 335516 4852308 0 0 388 65024 1442 563 0 2 47 52 00 4 140 1961816 335516 4853868 0 0 768 65536 1434 522 0 1 50 48 00 4 140 1960788 335516 4855300 0 0 768 48640 1412 573 0 1 50 49 00 4 140 1958528 335516 4857280 0 0 1024 65536 1415 521 0 1 41 57 00 5 140 1957488 335516 4858884 0 0 768 81412 1504 609 0 2 50 49 0第2个是 CPU 做大量计算时表现出来的特征:$ vmstat 1procs -----------memory---------- ---swap-- -----io---- --system-------cpu------r b swpd free buff cache si sobi bo in cs us sy id wa st4 0 140 3625096 3342563266584 0 0 0 16 1054 470 1000 0 0 04 0 140 3625220 3342643266576 0 0 0 12 1037 448 1000 0 0 04 0 140 3624468 3342643266580 0 0 0 148 1160 632 1000 0 0 04 0 140 3624468 3342643266580 0 0 0 0 1078 527 1000 0 0 0Unix vmstat 命令/tianlesoftware/archive/2010/04/08/5464408.aspxLinux Top 命令详解/tianlesoftware/archive/2011/02/21/6197783.aspx二. CPUCPU 的占用主要取决于什么样的资源正在 CPU 上面运行,比如拷贝一个文件通常占用较少 CPU,因为大部分工作是由 DMA(Direct Memory Access)完成,只是在完成拷贝以后给一个中断让 CPU 知道拷贝已经完成;科学计算通常占用较多的 CPU,大部分计算工作都需要在 CPU 上完成,内存、硬盘等子系统只做暂时的数据存储工作。
要想监测和理解CPU 的性能需要知道一些的操作系统的基本知识,比如:中断、进程调度、进程上下文切换、可运行队列等。
这里用个例子来简单介绍一下这些概念和他们的关系,CPU每时每刻都有工作在做(进程、线程)并且自己有一张工作清单(可运行队列),由老板(进程调度)来决定他该干什么,他需要和老板沟通以便得到老板的想法并及时调整自己的工作(上下文切换),部分工作做完以后还需要及时向老板汇报(中断),所以打工仔(CPU)除了做自己该做的工作以外,还有大量时间和精力花在沟通和汇报上。
CPU 也是一种硬件资源,和任何其他硬件设备一样也需要驱动和管理程序才能使用,我们可以把内核的进程调度看作是 CPU 的管理程序,用来管理和分配 CPU 资源,合理安排进程抢占 CPU,并决定哪个进程该使用 CPU、哪个进程该等待。
操作系统内核里的进程调度主要用来调度两类资源:进程(或线程)和中断,进程调度给不同的资源分配了不同的优先级,优先级最高的是硬件中断,其次是内核(系统)进程,最后是用户进程。
每个 CPU 都维护着一个可运行队列,用来存放那些可运行的线程。
线程要么在睡眠状态(blocked 正在等待 IO)要么在可运行状态,如果 CPU 当前负载太高而新的请求不断,就会出现进程调度暂时应付不过来的情况,这个时候就不得不把线程暂时放到可运行队列里。
可以从以下几个方面监控CPU的信息:(1)中断;(2)上下文切换;(3)可运行队列;(4)CPU 利用率。
2.1 底线通常我们期望我们的系统能到达以下目标:(1)CPU 利用率,如果 CPU 有 100%利用率,那么应该到达这样一个平衡:65%-70% User Time,30%-35% System Time,0%-5% Idle Time;(2)上下文切换,上下文切换应该和 CPU 利用率联系起来看,如果能保持上面的 CPU 利用率平衡,大量的上下文切换是可以接受的;(3)可运行队列,每个可运行队列不应该有超过1-3个线程(每处理器),比如:双处理器系统的可运行队列里不应该超过6个线程。
2.2 vmstatvmstat 是个查看系统整体性能的小工具,小巧、即使在很 heavy 的情况下也运行良好,并且可以用时间间隔采集得到连续的性能数据。
$ vmstat 1procs -----------memory---------- ---swap-- -----io---- --system-------cpu------r b swpd free buff cache si sobi bo in cs us sy id wa st2 1 140 2787980 3363043531996 0 0 0 128 1166 5033 3 3 7025 00 1 140 2788296 3363043531996 0 0 0 0 1194 5605 3 3 6925 00 1 140 2788436 3363043531996 0 0 0 0 1249 8036 5 4 6725 00 1 140 2782688 3363043531996 0 0 0 0 1333 7792 6 6 6425 03 1 140 2779292 3363043531992 0 0 0 28 1323 7087 4 5 6725 0参数介绍:(1). r,可运行队列的线程数,这些线程都是可运行状态,只不过 CPU 暂时不可用;(2). b,被 blocked 的进程数,正在等待 IO 请求;(3). in,被处理过的中断数(4). cs,系统上正在做上下文切换的数目(5). us,用户占用 CPU 的百分比(6). sys,内核和中断占用 CPU 的百分比(7). wa,所有可运行的线程被 blocked 以后都在等待 IO,这时候 CPU 空闲的百分比(8). id,CPU 完全空闲的百分比举两个现实中的例子来实际分析一下:$ vmstat 1procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------r b swpd free buff cache si sobi bo in cs us sy id wa st4 0 140 2915476 3412883951700 0 0 0 0 1057 523 1981 0 0 04 0 140 2915724 3412963951700 0 0 0 0 1048 546 1981 0 0 04 0 140 2915848 3412963951700 0 0 0 0 1044 514 1882 0 0 04 0 140 2915848 3412963951700 0 0 0 24 1044 564 2080 0 0 04 0 140 2915848 3412963951700 0 0 0 0 1060 546 1882 0 0 0从上面的数据可以看出几点:(1). interrupts(in)非常高,context switch(cs)比较低,说明这个 CPU 一直在不停的请求资源;(2). user time(us)一直保持在 80%以上,而且上下文切换较低(cs),说明某个进程可能一直霸占着 CPU;(3). run queue(r)刚好在4个。
$ vmstat 1procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------r b swpd free buff cache si sobi bo in cs us sy id wa st14 0 140 2904316 3419123952308 0 0 0 460 1106 9593 3664 1 0 017 0 140 2903492 3419123951780 0 0 0 0 1037 9614 3565 1 0 020 0 140 2902016 3419123952000 0 0 0 0 1046 9739 3564 1 0 017 0 140 2903904 3419123951888 0 0 0 76 1044 9879 3763 0 0 016 0 140 2904580 3419123952108 0 0 0 0 1055 9808 3465 1 0 0从上面的数据可以看出几点:(1). context switch(cs)比 interrupts(in)要高得多,说明内核不得不来回切换进程;(2). 进一步观察发现 system time(sy)很高而 user time(us)很低,而且加上高频度的上下文切换(cs),说明正在运行的应用程序调用了大量的系统调用(system call);(3). run queue(r)在14个线程以上,按照这个测试机器的硬件配置(四核),应该保持在12个以内。