4GB RAM을 갖춘 CentOS 9.3 vCPU 가상 머신.
7z를 사용하여 cron 작업을 실행하여 35GB의 데이터를 150개의 파일로 압축했습니다.7za a -mx=9 -mmt=3 ...
RAM 사용량 - 18%, 디스크 대기열이 작고, CPU 평균은 61%입니다. 왜 100%가 아닌가? 병목 현상을 찾는 방법은 무엇입니까?
sar -p -d 1 10
Linux 5.14.0-80.el9.x86_64 (logger) 30/04/22 _x86_64_ (3 CPU)
16:50:10 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda
16:50:11 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda
16:50:12 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:13 39.00 33832.00 0.00 0.00 867.49 0.04 0.95 1.90 sda
16:50:13 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:14 2.00 0.00 24.00 0.00 12.00 0.00 0.50 0.10 sda
16:50:14 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda
16:50:15 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda
16:50:16 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda
16:50:17 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda
16:50:18 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:19 2.00 0.00 12.00 0.00 6.00 0.00 0.50 0.20 sda
16:50:19 tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
16:50:20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda
Average: tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
Average: 4.30 3383.20 3.60 0.00 787.63 0.00 0.91 0.22 sda
sar -p -u 1 10
Linux 5.14.0-80.el9.x86_64 (logger) 30/04/22 _x86_64_ (3 CPU)
16:50:26 CPU %user %nice %system %iowait %steal %idle
16:50:27 all 60.20 0.00 0.99 0.00 0.00 38.82
16:50:28 all 61.54 0.00 0.67 0.00 0.00 37.79
16:50:29 all 60.87 0.00 0.33 0.00 0.00 38.80
16:50:30 all 59.26 0.00 1.01 0.00 0.00 39.73
16:50:31 all 60.20 0.00 1.00 0.00 0.00 38.80
16:50:32 all 62.79 0.00 0.00 0.00 0.00 37.21
16:50:33 all 63.46 0.00 1.00 0.00 0.00 35.55
16:50:34 all 64.88 0.00 0.67 0.00 0.00 34.45
16:50:35 all 63.04 0.00 0.66 0.00 0.00 36.30
16:50:36 all 62.88 0.00 0.33 0.00 0.00 36.79
Average: all 61.91 0.00 0.67 0.00 0.00 37.42
편집하다이 문서를 찾았습니다.https://documentation.help/7-Zip/method.htm "LZMA 압축은 2개의 스레드만 사용합니다."라고 나와 있습니다. 이는 제가 CentOS에서 관찰한 내용을 설명합니다. 하지만 Windows에서는 24개의 스레드와 LZMA를 사용합니다. 왜?
답변1
해결된 미스터리: 7za a -mx=9 -mmt=4
- 가상 머신에 vCPU가 3개만 있어도 스레드가 4개 있다는 점에 주목하세요.
이제 CPU를 100% 사용합니다.
7z 작성자의 도움말:https://sourceforge.net/p/p7zip/discussion/383043/thread/15831e05/#576a/740e/7944