大佬教程收集整理的这篇文章主要介绍了Linux高负载与ImageMagick转换实用程序和服务器冻结(blktrack输出附加),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
/usr/bin/convert -limit memory 256 -limit map 512 subjectfile.jpg -colorspace Gray -depth 8 -resample 200x200 output.tif
当我运行上面的命令时,服务器上的@L_772_2@突然变得非常高,并且cpu大部分时间都处于等待状态,如下所示:
Tasks: 245 @R_443_10586@l,3 running,241 sleeping,0 stopped,1 zombie cpu0 : 0.0%us,0.0%sy,0.0%ni,0.0%id,100.0%wa,0.0%hi,0.0%si,0.0%st cpu1 :100.0%us,0.0%wa,0.0%st cpu2 : 1.0%us,1.0%sy,93.1%wa,5.0%si,0.0%st cpu3 : 6.9%us,90.1%id,1.0%hi,1.0%si,0.0%st Mem: 4148160k @R_443_10586@l,3980380k used,167780k free,18012k buffers Swap: 4096552k @R_443_10586@l,96k used,4096456k free,3339884k cached
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 7361.00 62.00 137.00 3712.00 37180.00 410.97 128.13 120.48 5.04 100.20 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda3 0.00 7361.00 62.00 137.00 3712.00 37180.00 410.97 128.13 120.48 5.04 100.20 sdb 0.00 7368.00 0.00 144.00 0.00 33136.00 460.22 133.84 203.48 6.96 100.20 sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb3 0.00 7368.00 0.00 144.00 0.00 33136.00 460.22 133.84 203.48 6.96 100.20 md1 0.00 0.00 61.00 17711.00 3648.00 70844.00 8.38 0.00 0.00 0.00 0.00 md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 1193.00 0.00 470.00 0.00 14200.00 60.43 91.07 216.34 2.02 95.00 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda3 0.00 1193.00 0.00 470.00 0.00 14200.00 60.43 91.07 216.34 2.02 95.00 sdb 0.00 1138.00 0.00 410.00 0.00 8700.00 42.44 141.31 119.61 2.44 100.20 sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb3 0.00 1138.00 0.00 410.00 0.00 8700.00 42.44 141.31 119.61 2.44 100.20 md1 0.00 0.00 0.00 5226.00 0.00 20904.00 8.00 0.00 0.00 0.00 0.00 md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 1472.28 0.00 483.17 0.00 7821.78 32.38 5.52 11.43 0.52 25.05 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda3 0.00 1472.28 0.00 483.17 0.00 7821.78 32.38 5.52 11.43 0.52 25.05 sdb 0.00 1511.88 0.00 410.89 0.00 10047.52 48.91 143.60 171.46 2.42 99.31 sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb3 0.00 1511.88 0.00 410.89 0.00 10047.52 48.91 143.60 171.46 2.42 99.31 md1 0.00 0.00 0.00 778.22 0.00 3112.87 8.00 0.00 0.00 0.00 0.00 md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
我对Linux I / O性能并不是很熟悉,但是通过在互联网上阅读,我设法从blktrace获得了一些统计数据,这显示为:
==================== All Devices ==================== ALL MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- Q2Q 0.000000499 0.000486353 1.158217913 172004 Q2G 0.000000258 0.000059510 0.198865402 343500 S2G 0.000128922 0.010945336 0.198863747 1840 G2I 0.000000214 0.000000517 0.000168407 343504 Q2M 0.000000190 0.000000519 0.000122999 344516 I2D 0.000000879 0.016310824 0.305521347 342948 M2D 0.000000951 0.007473560 0.205691209 344492 D2C 0.000083899 0.002041770 0.160452919 171859 Q2C 0.000092851 0.013953825 0.317186332 171859 ==================== Device Overhead ==================== DEV | Q2G G2I Q2M I2D D2C ---------- | --------- --------- --------- --------- --------- ( 8,0) | 0.8524% 0.0074% 0.0075% 233.2591% 14.6323% ---------- | --------- --------- --------- --------- --------- Overall | 0.8524% 0.0074% 0.0075% 233.2591% 14.6323% ==================== Device Merge Information ==================== DEV | #Q #D Ratio | BLKmin BLKavg BLKmax @R_443_10586@l ---------- | -------- -------- ------- | -------- -------- -------- -------- ( 8,0) | 343516 343516 1.0 | 8 16 1024 5650976 ==================== Device Q2Q Seek Information ==================== DEV | NSEEKS MEAN MEDIAN | MODE ---------- | --------------- --------------- --------------- | --------------- ( 8,0) | 172005 27058614.9 0 | 0(123703) ---------- | --------------- --------------- --------------- | --------------- Overall | NSEEKS MEAN MEDIAN | MODE Average | 172005 27058614.9 0 | 0(123703) ==================== Device D2D Seek Information ==================== DEV | NSEEKS MEAN MEDIAN | MODE ---------- | --------------- --------------- --------------- | --------------- ( 8,0) | 343516 9204796.3 0 | 0(310240) ---------- | --------------- --------------- --------------- | --------------- Overall | NSEEKS MEAN MEDIAN | MODE Average | 343516 9204796.3 0 | 0(310240)
使用带有-A选项的btt显示,这:
==================== Per Process ==================== Q2Qdm MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- Q2Adm MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- Q2Cdm MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- Q2Q MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- convert 0.085368267 9.765798951 24.050329666 3 md1_raid1 0.000000730 0.000493657 1.158217913 169459 MysqLd 0.000001386 0.018154085 14.221072636 2146 sh 0.005889458 0.322064972 1.423632298 5 Q2A MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- Q2G MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- convert 0.000000539 0.000003194 0.000005260 16 md1_raid1 0.000000258 0.000060580 0.198865402 333440 MysqLd 0.000000270 0.000028381 0.058359194 8476 sh 0.000000506 0.000000827 0.000001610 24 S2G MIN AVG MAX N --------------- ------------- ------------- ------------- ----------- md1_raid1 0.000128922 0.010842039 0.198863747 1836 MysqLd 0.058358625 0.058358625 0.058358625 4
我正在使用以下I / O计划:
# cat /sys/block/sd*/queue/scheduler noop anticipatory deadline [cfq] noop anticipatory deadline [cfq]
所以我的问题是当我使用限制选项时,为什么转换(ImageMagick)实用程序的平均(avg)Q2Q值如此之高:
convert 0.085368267 9.765798951 24.050329666 3
我没有看到的@L_772_2@会HIGHT问题,当我使用转换(ImageMagick的),而不-limit选项,这样你就可以请帮我为什么@L_772_2@拍摄高,当我试图通过限制ImageMagick的与-limit选项和转换应用程序所使用的资源我该如何解决这个问题.
您为最大内存设置256B,为内存中的文件映射设置512B.因此,您不必拥有大块缓冲区读取,而是读取FS块的大小(如果您有4K硬盘,则更少).这会产生大量不必要的IO.
你想要做的是设置256MiB和512MiB(注意尊重MiB而不是mib或MIB!):
/usr/bin/convert -limit memory 256MiB -limit map 512MiB subjectfile.jpg -colorspace Gray -depth 8 -resample 200x200 output.tif
使用此命令,我获得与不使用限制时相同的实时时间,并且与没有限制选项的情况相比,我或多或少具有相同的IO活动.
以上是大佬教程为你收集整理的Linux高负载与ImageMagick转换实用程序和服务器冻结(blktrack输出附加)全部内容,希望文章能够帮你解决Linux高负载与ImageMagick转换实用程序和服务器冻结(blktrack输出附加)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。