이 유틸리티를 사용하여 Linux에서 zip
파일을 압축 하면 CPU 사용률이 100%에 도달합니다.
CPU 사용량이 왜 그렇게 높은지 설명하는 데 도움을 줄 수 있는 사람이 있나요?
나는 다음 명령을 사용하고 있습니다 :
zip file_name *.xml
답변1
특정 사용량을 초과하지 않도록 zip 명령의 CPU 사용량을 제한할 수 있습니다. 예를 들어 zip 명령이 CPU의 30% 이상을 사용하지 않도록 하려면 다음 명령을 사용할 수 있습니다.
cpulimit -e zip -l 30
답변2
파일의 압축 가능성이 높을수록 실제로 I/O가 아닌 압축(CPU 바인딩)을 수행하므로 압축할 때 더 많은 CPU를 사용합니다. XML 파일은높은길고 반복적인 특성으로 인해 압축 가능합니다.
답변3
작업이 중단되지 않고 많은 CPU 성능을 사용할 수 있으면 CPU 사용률이 높습니다. 다음과 같이 말할 수 있습니다. 높은 CPU 사용률은 컴퓨터 속도를 쉽게 높일 수 있기 때문에 좋은 것입니다.
쉽게 압축할 수 있는 파일을 압축하려면(예: 동일한 텍스트 줄을 100,000번 반복) 매우 빠른 CPU에서 수행하고 매우 느린 디스크(또는 네트워크 저장소)에서 파일을 로드하면 CPU 사용률이 줄어들 것입니다. 그러나 CPU가 I/O를 기다리고 있기 때문에 이렇게 됩니다. 스토리지가 매우 빠르고 CPU가 매우 느린 경우, CPU 시간에 비해 I/O 대기 시간이 감소하므로 CPU 사용률이 증가합니다.
CPU 사용률이 100% 미만이라는 것은 CPU에 사용되지 않은 리소스가 있음을 의미합니다. 이는 일반적으로 원하는 것이 아닙니다. CPU 사용률이 높은 프로세스는 I/O 병목 현상에 영향을 주지 않으므로 시스템의 다른 프로세스에 더 좋습니다.
여러 프로세스가 실제로 CPU 시간을 두고 경쟁하는 경우(각 프로세스는 CPU의 100%를 사용할 수 있음) 어떤 프로세스가 더 느리게 실행되는지는 CPU 우선순위에 따라 달라집니다. CPU 우선순위는 , 및 를 사용하여 확인 ps
하고 top
설정할 수 있습니다. cgroup은 프로세스 그룹의 우선순위를 지정하는 강력한 개념입니다.top
nice
renice