Linux如何查看哪个进程占用的SWAP分区比较多

Linux如何查看哪个进程占用的SWAP分区比较多,第1张

综合看一个进程占用系统资源主要体现在:CPU使用率、内存占用率、磁盘占用率、网络IO等。

可以通过linux自带工具:top、free、du、nmon 等命令配合查看。

1、CPU占用率

命令:top

语法: top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

优势:系统自带,可以观察到进程的PID、当前登录用户、进程占用cpu的排行等;

缺点:界面简单;

2、内存占用率

命令:free

语法:

usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]

-b,-k,-m,-g show output in bytes, KB, MB, or GB

-l show detailed low and high memory statistics

-o use old format (no -/+buffers/cache line)

-t display total for RAM + swap

-s update every [delay] seconds

-c update [count] times

-V display version information and exit

例子:

free -m -t -s 3 -c 5 >test.log

这样可以记录5次每隔3秒的内存使用情况。

3、磁盘占用率

磁盘占用是非常重要的一个指标,类似mongodb这样的应用日志信息如果不进行合理规划会造成磁盘率过快增长,一旦被磁盘写爆,会造成应用宕机。

命令:du -sh /log 查询/log目录的磁盘占用

4、网络占用率

主要是检查进程的NIC的读写情况

工具:nmon

nmon是 IBM 提供的免费的在AIX与各种Linux *** 作系统上广泛使用的监控与分析工具。nmon运行CPU利用率不会超过2%。针对不同的 *** 作系统版本,nmon有相应版本的程序。nmon可以监控网络IO的读写速率、CPU使用、磁盘IO等信息。

优势:免费,兼容性好,可输出分析,有源代码便于二次开发

应用:有很多网络IO要求很高的分布式数据库系统,如MySQL、Postgresql、GreenPlum等都需要较高的网络带宽,使用光纤网也很常见。

5、当然针对大规模网络系统有更很专业的监控工具,例如:cacti、zabbix、munin等等。其中,munin还可以自己编写插件自定义监控需要的数值。

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

function:

∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

∘ 也可以设置为 processlist,代表监控 show processlist 的输出;

variable:

∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

threshold:

∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

cycles:

∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

连接参数:host、password、port、socket。

其他一些重要参数:

iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

retention-time :监控数据保留时长,默认 30 天。

daemonize:以后台服务运行,默认不开启。

log:后台运行日志,默认为 /var/log/pt-stalk.log。

collect:触发发生时收集诊断数据,默认开启。

∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

∘ collect-strace:收集跟踪数据,需要 strace 工具。

∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。

带界面工具

1、MySQL视化工具

些工具都免费使用:

a、MySQL查询浏览器(MySQL Query Browser):用说…

b、MySQL管理员(MySQL Administrator):功能集服务器管理所适合DBA使用发员析员帮助DBA创建备份 、创建用户并配权限、显示服务器志状态信息等程进行自化处理包括些基本监控功能例图形化状态变量显示没文提交互式监控工具灵

c、MySQL迁移工具箱(MySQL Migration Tookit):帮数据别数据库系统迁移MySQL

d、MySQL工作台(MySQL Workbench):MySQL建模工具

2、SQLyog

SQLyog用MySQL视化工具能用于win

3、phpMyAdmin

phpMyAdmin款流行管理工具基于Web界面管理MySQL服务器支持者反者少

监控工具

MySQL监控复杂任务同应用着同需求监控家滥用术语承载几重意思我讲监控工具非互互两类非互监控自化系统接收系统测量值超安全范围通发警告提醒管理员互监控工具让实观测服务器

能监控工具其面差别兴趣例监控主监控者发送报警信息并作初步反应(像Nagios);或者能寻找工具:创建信息仓库仅仅显示前统计信息许监控系统专监控MySQL设计通用系统面设计周期性任务定检查各类资源状态例像服务器、路由器、及各种软件(包括MySQL)提供插件架构同预订MySQL插件供使用些系统能够记录监控象状态并通web界面用图形化形式表示监控象现问题或者状态值超安全范围能发送报警信息或者执行初始化作

a、非交互性工具

1、Nagios

监控界流行句:要用顺Nagios永远再想其监控系统

于Nagios本blog持续推相关文章现引用Nagios官介绍:

Nagios款用于系统网络监控应用程序设定条件主机服务进行监控状态变差变候给告警信息

Nagios初设计Linux系统运行同类Unix系统运行

Nagios更进步特征包括:监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);

监控主机资源(处理器负荷、磁盘利用率等);

简单插件设计使用户便扩展自服务检测;

并行服务检查机制;

具备定义网络层结构能力用parent主机定义表达网络主机间关系种关系用发现明晰主机宕机或达状态;

服务或主机问题产与解决告警发送给联系(通EMail、短信、用户定义式);

具备定义事件句柄功能主机或服务事件发获取更问题定位;

自志滚;支持并实现主机冗余监控;选WEB界面用于查看前网络状态、通知故障历史、志文件等;

面代替Nagios工具:

i、Zenoss

Zenoss用Python编写拥基于浏览器用户界面并使用Ajax使 *** 作更加快捷富效率监控、报警、趋势显示、图表显示记录历史数据等功能合统工具能网自发现资源默认情况Zenoss使用SNMP远程机器收集数据使用SSH并且支持Nagios插件

ii、Hyperic HQ

Hyperic HQ款基于Java监控系统目标跟其同类别软件太要企业级监控系统跟Zenoss能自发现资源支持Nagios插件逻辑组织架构显点庞至于合适需求要看参数设置监控式

iii、OpenNMS

OpenNMS由Java编写拥跃发者社区具备规功能例监控报警加入图表趋势显示功能目标高性能、伸缩性、自化及良兼容性跟Hyperic企图款企业级监控软件用于型关键系统

iv、Groundwork Open Source

Groundwork Open Source实际基于NagiosNagios其几工具集系统并安统门户界面描述能:Nagios、Cacti及其工具熟悉并且能够花量间缝集起能家庭作坊做

v、Zabbix

Zabbix源监控系统许面跟Nagios相像些关键同点例:所配置信息其数据都存放数据库放配置文件;比Nagios存储更类型数据更趋势图历史报告网络图表视化功能优于Nagios使用发现更易配置更具兼容性说起能比Nagios少报警功能够高级

2、MySQL监控建议服务

MySQL自监控案设计用监控MySQL实例能够监控主机些关键面工具源需要MySQL企业订阅费

3、MONyog

MONyog轻量级代理监控系统跟些工具着同实现:底层JavaScript引擎所配置都通JavaScrpt象模型完设计桌面系统运行运行闲置端口打HTTP监听器浏览器指向端口查看MySQL服务器信息信息都结合JavascriptFlash表示MONyog实际交互式非交互式两种类型两种类型监控功能都尝试着用用看

4、基于RRDTool系统

严格说RRDTool算监控系统重要必要提组织都使用几种脚本或程序–些般都自制–服务器读取信息再保存循环数据库(Round-robin databaseRRD)文件许要获取记录图表环境RRD文件合适解决案能聚合输入数据输入数据值没按期随提交进行能随插入些丢失数据都带强图表工具能够漂亮与众同图表现已经些基于RRDTOOL系统供使用

a、Muti Router Traffic Grapher或者叫MRTG款典型基于RRDTOOL系统真设计初衷记录网络数据流扩展用记录图表化表示其些东西

b、Munin能采集数据系统放入RRDTool根据数据同粒度图表能配置信息静态HTML文件轻松浏览查看趋势情况

c、Cacti另外用图表趋势显示系统工作式:系统获取数据保存RRD文件用PHP Web界面形式使用RRDTool数据图表形式展示显示界面配置管理界面(配置信息存储MySQL服务器)模板驱自定义模板并放系统使用

d、Cricket用Perl编写跟Cacti类似系统使用基于文件配置系统Ganglia跟Cacti类似设计初衷永远监控群集系统网络查看由许服务器信息聚合结按照意愿查看单独某台服务器信息(CactiCricket显示聚合数据)

些系统都用作MySQL系统信息收集、记录、图表化数据报告用途面差异较都具备同程度兼容性缺乏真意义兼容性比某些东西错要能够针性发送报警信息给某些些甚至没错误概念所些点看作类系统缺点觉记录、图表化表示、报警几项功能都独立事实Munin特设计使用Nagios作报警系统于其几说确缺点另外缺点安装配置系统使其能完全满足需求须投入间努力点并

RRD文件让使用SQL或其标准查询面数据且默认情况永远种恰粒度存储数据许MySQL管理员愿意接受种限制转选择关系数据库存储些历史数据

b、交互性工具

交互性工具些需要启起并视图显示形式断获取新服务器状态软件

innotop

innotop通文本模式显示MySQLInnoDB监测工具特点快速配置易于使用等吸取MYTOP精华使变更加强innotop用PERL语言写能更加灵使用各种 *** 作平台能详细监控前MYSQLINNODB运行状态便维护员根据结合理优化MYSQL让MYSQL更稳定更高效运行安装INNOTOP工具非简单既由PERL写需要PERL环境相关工具包安装前先要确定系统安装Time::HiRes,Term::ReadKey,DBI,DBD::mysql四包安装包载通编译安装完用PERL模块安装式完

mtop

显示MySQL服务器查询状态监视器功能包括显示完查询进程显示查询优化信息及杀死查询附加功能包括服务器性能统计配置信息调整技巧提示

mytop

mytop类似topMySQL监察工具执行mytop每隔几秒更新且针性监察某资料库

析工具

析工具帮自化些单调乏味工作监测服务器找优化调优功能区域些工具作解决性能问题良端

a、HackMySQL 工具(名惜已停止更新)

1、Mysqlreport

2、Mysqlsla

b、Maatkit析工具

系列命令行工具集合

MySQL辅助工具

MySQL几工具消除MySQL提供功能与自带命令行工具间隔阂

a、MySQL Proxy

b、DormandoMySQL代理


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7336435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存