5 种方法排查 Linux 系统运行速度慢的现象

Wesley13
• 阅读 483

点击上方“杰哥的IT之旅”,选择“置顶公众号”

干货、福利第一时间送达!

5 种方法排查 Linux 系统运行速度慢的现象

5 种方法排查 Linux 系统运行速度慢的现象

往往在实际工作中,难免会遇到服务器系统运行速度缓慢的现象,那么,究竟遇到这种现象时,我们该怎么办?下面针对此问题进一步总结遇到该现象时,将如何来判断到底是哪个正在运行的进程、CPU 运行状态、内存运行是否过载、交换内存区是否已满、以及硬盘是否运行正常等相关因素来进行判断。

5 种方法排查 Linux 系统运行速度慢的现象

检查 CPU 的信息

相信大家,遇到该现象时,首先会检查 CPU 的信息,在 Linux 系统中,提供了 proc 文件系统显示系统的软硬件信息。那么可以执行命令 cat /proc/cpuinfo文件系统中查看 CPU 的提供商和相关详细配置信息;

# cat /proc/cpuinfo

5 种方法排查 Linux 系统运行速度慢的现象

# lscpu

5 种方法排查 Linux 系统运行速度慢的现象

通过上述两条命令 cat /proc/cpuinfo 和 lscpu 将显示了有关 CPU 的详细信息。

简单说明几项输出的含义:

  • vendor_id:CPU 制造商。

  • model name:表示 CPU 的制造商、型号和速度。本文中是 2.20GHz 的英特(R)酷睿(TM)CPU。

  • cpu MHz:用于测量通道、总线和计算机内部时钟的传输速度。本文中传输速度是 2194.919。

  • cache size:CPU 二级缓存大小。

  • cpuid level:执行 cpuid 指令前,eax 寄存器中的值,根据不同的值 cpuid 指令会返回不同的内容。

  • bogomips:bogo 是 bogus(伪)的意思,MIPS 是指每秒百万条指令。它是显示系统性能的独立程序。

使用 top 命令检查 CPU 负载

除了上述检查的情况之外,还可以使用命令 top 来检查 CPU 负载,将实时显示 process 的动态。资源使用最高的进程排在最前面。

参数:

-c:显示完整命令;

-b:以批处理模式显示程序信息;

-d NUM:设置信息更新次数;

-n NUM:显示更新十次后退出;

-p PID:将显示指定的进程信息;

-S:以累积模式显示程序信息;

5 种方法排查 Linux 系统运行速度慢的现象

利用 iotop 命令进行检查

假如你想知道到底哪个进程产生了 IO,数据读取速度等信息,这个时候就需要 iotop 这个工具了。它的输出和 top 命令类似;

参数:

-o:只显示正在产生 I/O 的进程或线程;

-b:非交互模式,一般用来记录日志;

-n NUM:设置监测的次数,默认无限;

-d SEC:设置每次监测的间隔,默认 1 秒;

-p PID:指定监测的进程/线程;

-u USER:指定监测某个用户产生的 I/O;

-P:仅显示进程,默认 iotop 显示所有线程;

-a:显示累积的 I/O,而不是带宽;

-k:使用 kb 单位进行显示;

-t:时间戳;;

-q:只在第一次监测时显示列名;

-qq:将永远不显示列名;

-qqq:将永远不显示 I/O 汇总;

5 种方法排查 Linux 系统运行速度慢的现象

检查启动的服务

service --status-all 该命令查看所有服务当前的运行状态。将按照字母的顺序运行所有的 init 脚本。

# service --status-all

5 种方法排查 Linux 系统运行速度慢的现象

chkconfig --list 显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。

# chkconfig --list

5 种方法排查 Linux 系统运行速度慢的现象

initctl 是守护进程控制工具,管理员可以与 Upstart 守护进程进行通信和交互。

# initctl list

5 种方法排查 Linux 系统运行速度慢的现象

利用 free 命令来检查闲置内存空间

free 命令:用于显示内存状态,会显示内存的使用情况,实体内存,虚拟交换内存,共享内存,以及系统核心使用的缓冲区等等;

语法:

free [-bkmotV] [-s <间隔秒数>]

参数:

-b:以 byte 为单位显示内存使用情况;

-k:以 KB 为单位显示内存使用情况;

-m:以 MB 为单位显示内存使用情况;

-o:不显示缓冲区调节列;

-t:显示内存总和列;

-V:显示版本信息;

-s <间隔秒速>:将以动态的形式持续观察内存使用情况;

上述 free 命令各项参数实例

5 种方法排查 Linux 系统运行速度慢的现象

5 种方法排查 Linux 系统运行速度慢的现象

推荐阅读

1、聊聊 Linux 的匿名管道

2、神奇,原来 Linux 终端下居然还有进程记帐功能...

3、5 种方法查看当前系统登录的用户信息

4、详解 Linux 环境下防毒软件 ClamAV

5、Linux 工程师的 6 类好习惯和 23 个教训

6、啊,Linux 吃掉了我的内存!

7、玩转 Linux 环境下日期的语法

8、想要提高工作效率,这些Linux技巧你会了吗?

9、百度网盘 Linux 版正式发布:专为中标麒麟桌面操作系统打造

5 种方法排查 Linux 系统运行速度慢的现象

本文分享自微信公众号 - 杰哥的IT之旅(Jake_Internet)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Stella981 Stella981
3年前
200的大额人民币即将面世?央行:Yes!
点击上方蓝字关注我们!(https://oscimg.oschina.net/oscnet/2a1c2ac00bf54458a78c48a6c2e547d5.png)点击上方“印象python”,选择“星标”公众号重磅干货,第一时间送达!!(
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这