问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

五个Linux简单命令帮你解决系统性能问题

发布网友 发布时间:2023-10-09 12:03

我来回答

1个回答

热心网友 时间:2024-07-19 10:16

事实上,利用一些简单的Linux命令,可以发现许多管理主机的细节问题并且能迅速而简单地解决性能问题。

   一、top

对许多管理员来说,最新学会的就是TOP命令,它可以显示出当前运行的所有内核任务,并且提供了一些主机状态的统计报告。默认地,TOP命令每隔五分钟自动更新一次这个数据(这个更新间隔是可设置的)。

TOP命令的功能丰富到令人难以置信(估计很少有人使用过一半以上的功能)。一般来说你会以‘h’键开始,就是‘help’(说明文档也非常精彩)。帮助参数可以快速显示出你能从中增加和减去的内容,同时也可以改变排序。你还可以用k来结束进程或者用r标注特别的进程。

Top命令显示当天的正常运行时间、系统负载、处理器的数量、内存的使用率和哪些进程使用了大多数CPU资源(包括每个进程的大量相关信息,例如在线用户和正在执行的命令等)。

二、vmstat

Vmstat命令提供给你一个当前CPU、IO、进程和内存使用率的快照。和TOP命令一样,它自动动态刷新,并且可以用下面的命令执行:

   $ vmstat 10

在这里延迟是指两次刷新间隔的以秒为单位的时间,这里是10秒钟。VMSTAT命令会将检查的结果不停刷新显示在屏幕上,直到你用CTRL-C命令结束它(或者你也可以在执行的时候设置一个*)。这个持续输出的结果有时候被用来导入到文件中用来分析性能趋势,但是我们将找到更好的方式来做这件事情,在文章后面的部分会介绍。

第一列显示的是处理器, r列是待命的处理器,而b列是休眠的处理器。如果你在这里看到好多个待命的处理器,那说明你可能在某个地方遇到了性能瓶颈。第二列显示的是内存:虚拟的,空闲的,缓冲和缓存内存。第三列显示的是交换存储以及具体有多少内存在和磁盘做交换。第四列则是I/O信息,显示了块服务接收和发送的块数据信息。

最后两列显示了系统和CPU相关的信息。系统列显示的是冲突的数量和每秒钟的交换。CPU列是显示了特别有用的信息。每个分列显示了一个CPU时间的百分比。这些分列如下:

   US:运行用户任务和代码耗费的时间

   SY:运行内核或者系统代码耗费的时间

   ID:空闲时间

   WA:等待IO耗费的时间

   ST:虚拟机占用的时间

VMSTAT命令擅长用来查询CPU使用情况,虽然记住每个参数主要取决于持续的监控,因为对CPU进行短时间的观察你可能无法获知CPU真正的问题所在。你需要查看长期的运行趋势来获得一个确切的CPU性能信息。

三、iostat

我们接下来要讲的命令是IOSTAT。IOSTAT命令(在UBUNTU、红帽和FEDORA系统中都是由SYSSTAT软件包提供的)可以提供三个报告:CPU使用率、设备使用率和网络文件系统使用率。如果你不加任何参数地运行该命令,它会显示所有这三个报告,你可以通过加参数-c、-d和-h来单独显示它们中的一种。

在上面的图中你可以看到它们中的其中两个报告,第一个是CPU使用率,它将各进程占用的CPU用百分比分类列出来了。你能看到用户进程、系统进程、iowait和空闲时间等信息。

第二个报告是关于设备使用率,显示了安装在该主机上的每个设备和一些有用的信息,诸如每秒传输量、数据块读写,并且允许你对有性能问题的设备做标记。你可以通过添加-k或者-m参数来按照千字节或者兆字节显示统计信息,而不是以数据块为单位,这样在某些情况下会更便于查阅和理解。

最后一个报告,没有截图,显示的信息和上面介绍的设备使用率有点相似,只是对象从附件的设备换成了挂载的网络文件系统。

四、free

下一个命令free,可以显示主内存和交换内存的统计量。

   你可以通过添加-t参数来显示总的内存,或者通过添加-b参数和-m参数来用字节数显示(默认情况是用千字节为单位)。

   FREE命令还可以通过使用-s参数来使其以某个间隔时间持续刷新地运行:

   $ free -s 5

   这个命令是以每隔5秒钟刷新一次的方式运行FREE命令并输出结果。

五、sar

象我们见过的许多其它工具一样,我们可以用sar命令来收集、查看和记录服务器的性能数据。它比我们见过的任何类似工具都更强大,并且可以收集和显示长时间段的数据。在红帽和UBUNTU上,它通过SYSSTAT包来安装。让我们从不添加任何参数运行SAR命令开始吧:

从这里我们可以看到sar命令的基本输出信息,包括CPU统计(每隔10分钟一次的数据和最后的平均数据)。该信息是从一个以24小时为单位不停收集信息的日统计文件中抓取出来的(这个文件存储在目录/var/log/sa/中,并且被命令为saxx这样的格式,xx代表该数据收集的日期)。另外它还收集关于内存、设备、网络等的统计信息(例如,通过加-b参数可以查看块设备统计信息,-n采查看网络数据,-r参数看内存使用)。你还可以用-A参数来查看所有收集的数据。

你还可以长时间运行sar命令然后将输出数据导入一个文件中来收集数据。要达到这个效果,需要使用参数-o和一个文件名称,要运行该命令的时间间隔(记得收集数据会导致性能变差,所以最好确保这个间隔不要太短)和循环的次数-你要记录的间隔次数。如果你不输入循环次数,则sar命令会一直运行下去,例如:

   $ sar -A -o /var/log/sar/sar.log 600 /dev/null 21

这里我们将收集所有数据(-A),记录到文件/var/log/sar/sar.log中,每隔600秒(或者5分钟)收集一次,持续在后台运行。如果接下来我们想要显示这个数据我们可以用sar命令加上-f参数,例如:

   $ sar -A -f /var/log/sar/sar.log

这是一个非常基本的sar命令介绍。用sar命令还可以得到许多很有用的数据,这能使得查看主机性能变得更加方便和有效。我建议你去查看一下sar命令的说明文档从而获得更详细的方法来获得你需要的数据。

总结:

   我们看到了5个基本的用在linux主机上管理和查看性能状态的命令工具。

除此之外,去看一下其它一些工具如munin和collected等也是非常值得的,它们不仅收集关于性能的数据,还能查看应用程序和服务等,包括使用你自己的插件等。

这些工具都支持增加图形化的输入,这样可以让你用图形更直观的查看你的数据。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大写数字带点怎么写 带小数点的数字怎么转换为大写 怎么将带小数点的小写转换成大写 奶水不足宝宝不够吃怎么办宝宝四个半月了母乳不够吃? 宝贝3个月, 奶水不够吃 ,怎么办? 妈妈母乳不足该如何解决宝宝的粮食问题 专科医学生大三都干什么 医学生的研究生导师怎么带学生 医学生实习几个月 河北医科大学考研分配导师吗 怎么在wps中设置word文档定时备份功能? complimentary是什么意思1 深层搅拌桩工艺二喷四搅是什么概念?6 什么是搅拌桩?它与钻孔灌注桩有什么区别?谢谢你57 混凝土搅拌制度的含义是什么?3 用来搅拌鸡蛋的工具叫什么名称23 机械搅拌器是什么?工作原理是什么?6 什么是工程混凝土搅拌站?和商品混凝土搅拌站有什么区别?27 香港免税店的迪奥香水便宜还是京东的便宜 比亚迪和法雷奥怎么选择!本人车辆工程专业,一个是在深圳做研发... 请问,比亚迪怎么样,人,还好吗,有在里面做过的吗?还招聘吗。... 筒子们二本学历,进比亚迪待遇怎么样 急急!车辆工程专业毕业生就业薪资等情况 本人车辆工程本科应届毕业生,前些天参加了比亚迪的招聘,稀里糊... 五庄在战斗中用三花聚顶恢复魔法多多是炼化气神回复魔法多啊 衣服后面写的是56是几个加? 小姑子从哥嫂卧室出嫁合适么?1 小姑子从哥嫂卧室出嫁合适么?1 哥哥嫂子结婚当天小姑子做什么 被封怎么解封啊? 电视上优购物频道卖的东西是真的吗849 奸诈的动物有哪些 笔记本被压了一下会坏吗?压力不大。 一个男生想要掩饰对一个女生的喜欢,他会怎么做18 一个想要掌控喜欢女人的男人,如果他掌控不了他喜欢的女人,他会...2 如果一个女人一直不理一个男人,男人会怎么想怎么做19 男人,想得到一个女人,却得不到,他会怎么做?5 吉林大学本科生可以到哪些国家留学 吉林大学有公费出国的机会吗?29 公派留学都能去哪些国家和哪些学校?比如澳大利亚、法国、德国等...1 cpu天梯图2022最新排名 如何样教育一个高消费的孩子怎么样教育一个高消费的孩子 怎样解除手机号和的绑定 请一位高手、一台国外品牌国内生产的功放机。重有20多斤吧。瓦数没注... 怎么教育孩子高消费 2021cpu最新天梯图 客厅如何选择合适尺寸的沙发? 谁知道“就在你转身的那一刻,我真的哭了”是哪首歌的歌词 梦幻西游,五庄孩子炼气化神一回合能回多少蓝?孩子149级的情...2 干煸姜片做法