云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名备案_mysql选择数据库_速度快

小七 141 0

大数据云存储_分布式_怎么查看大数据

使用8种不同的度量指标:用户CPU时间、系统CPU时间、nice CPU时间、空闲CPU时间、等待CPU时间、硬件中断CPU时间、软件中断CPU时间、被盗CPU时间来研究Unix/Linux操作系统的CPU消耗。在本文中,让我们研究一下"等待CPU时间"。

什么是"等待"CPU时间?

等待CPU时间表示CPU等待磁盘I/O或网络I/O操作完成的时间量。高等待时间表示CPU因设备上的I/O操作而"搁浅"。为了获得最佳性能,武汉大数据,轻淘客旗舰版,应该将I/O等待CPU时间尽可能地保持在较低的水平。如果等待时间大于10%,则值得研究。

您可以通过这个类比来可视化I/O等待时间:假设有数百辆汽车/自行车在繁忙的道路上等待红绿灯从"红色"切换到"绿色"。但由于一些技术故障,红绿灯从"红色"切换到"绿色"需要很长时间,这样数百辆汽车/自行车就会不必要地搁浅。它会导致一些不良的副作用:乘客会迟到到达目的地,司机可能会感到沮丧并开始鸣笛(噪音污染),因为发动机在工作,燃油会被浪费(空气污染)

如何找到"等待"的CPU时间?

等待CPU时间可以从以下来源找到:

a.您可以使用基于web的根本原因分析工具,如yCrash来报告"等待"CPU时间。工具能够在"等待"CPU时间超过阈值时生成警报。

b."等待"CPU时间也会在Unix/Linux命令行工具"top"中报告,如下图中突出显示的"wa"字段。

图:"wa"时间在top

如何模拟高"等待"CPU时间?

为了模拟高"等待"CPU报告,让我们使用BuggyApp。BuggyApp是一个开源java项目,可以模拟各种性能问题。当你用以下参数启动BuggyApp时,它将导致主机上的"等待"CPU消耗激增。

图:您可以看到等待CPU时间峰值高达75.9%

现在让我们看看BuggyApp中导致"等待"CPU时间激增的源代码。

在这里,您可以看到BuggyApp正在"IODemo"类中启动5个"IOThreads"。您可以注意到"IOThread"正在进行一个无限while循环。在该循环中,它将内容写入文件,并从文件中读取相同的内容。它一次又一次地重复这两个步骤。由于从磁盘写入内容和读取内容是一项繁重的I/O密集型操作,"等待"CPU时间高达75.9%

如何解决高"等待"时间?

如果您的设备的I/O等待时间很长,则可以按照以下步骤减少I/O等待时间:

减少数据库调用次数优化数据库查询,返利app怎么用,以减少从数据库返回到应用程序的数据减少对外部应用程序的网络调用数尽量减少在外部应用程序和您的应用程序之间发送的有效负载量尝试减少写入磁盘的文件数。尽量减少从磁盘读取的数据量。请确保磁盘中只写入必要的日志语句。

如果缺少可用内存,在线自助建站系统,则进程将在内存中进行交换。经常从磁盘上读写几页。它将增加磁盘I/O操作。如果可用内存较少,那么操作系统将无法在内存中缓存经常使用的磁盘块。缓存常用磁盘块时,淘客服,I/O等待时间将减少。