명령 time -v
출력% CPU 사용률Linux에서 주어진 명령에 대해. OS X에서 이 작업을 수행하는 방법은 무엇입니까? Linux/OS X의 차이점은 그림에 나와 있습니다.여기. 단기 실행 프로그램의 전체 실행 기간 동안 멀티 코어 사용률을 측정하고 싶습니다. top
특정 시점에서 측정/평균을 계산하므로 작동하지 않을 수 있습니다.
답변1
sysstat 패키지를 설치하고 sar 명령을 사용할 수 있습니다. (https://tipstricks.itmatrix.eu/installing-sar-monitoring-tools/)
모든 CPU의 CPU 사용량(sar -u)
이는 모든 CPU에 대한 누적 실시간 CPU 사용량을 제공합니다. "1 3"은 1초마다 3번 보고됩니다. CPU 로드를 확인하려면 마지막 필드 "%idle"에 집중할 가능성이 높습니다.
$ sar -u 1 3
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:27:32 PM CPU %user %nice %system %iowait %steal %idle
01:27:33 PM all 0.00 0.00 0.00 0.00 0.00 100.00
01:27:34 PM all 0.25 0.00 0.25 0.00 0.00 99.50
01:27:35 PM all 0.75 0.00 0.25 0.00 0.00 99.00
Average: all 0.33 0.00 0.17 0.00 0.00 99.50
다음은 몇 가지 변경 사항입니다.
sar -u Displays CPU usage for the current day that was collected until that point.
sar -u 1 3 Displays real time CPU usage every 1 second for 3 times.
sar -u ALL Same as “sar -u” but displays additional fields.
sar -u ALL 1 3 Same as “sar -u 1 3″ but displays additional fields.
sar -u -f /var/log/sa/sa10 Displays CPU usage for the 10day of the month from the sa10 file.
단일 CPU 또는 코어의 CPU 사용량(sar -P)
컴퓨터에 4개의 코어가 있고 각 코어가 수행하는 작업을 확인하려면 다음을 수행하십시오.
"-P ALL"은 모든 개별 코어에 대한 통계를 표시해야 함을 의미합니다.
아래 예에서 "CPU" 열 아래의 0, 1, 2, 3은 해당 CPU 코어 번호를 나타냅니다.
$ sar -P ALL 1 1
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:34:12 PM CPU %user %nice %system %iowait %steal %idle
01:34:13 PM all 11.69 0.00 4.71 0.69 0.00 82.90
01:34:13 PM 0 35.00 0.00 6.00 0.00 0.00 59.00
01:34:13 PM 1 22.00 0.00 5.00 0.00 0.00 73.00
01:34:13 PM 2 3.00 0.00 1.00 0.00 0.00 96.00
01:34:13 PM 3 0.00 0.00 0.00 0.00 0.00 100.00
"-P 1"은 두 번째 코어에 대한 통계만 표시한다는 의미입니다. (코어 번호는 0부터 시작합니다.)
$ sar -P 1 1 1
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:36:25 PM CPU %user %nice %system %iowait %steal %idle
01:36:26 PM 1 8.08 0.00 2.02 1.01 0.00 88.89
다음은 몇 가지 변경 사항입니다.
sar -P ALL Displays CPU usage broken down by all cores for the current day.
sar -P ALL 1 3 Displays real time CPU usage for ALL cores every 1 second for 3 times (broken down by all cores).
sar -P 1 Displays CPU usage for core number 1 for the current day.
sar -P 1 1 3 Displays real time CPU usage for core number 1, every 1 second for 3 times.
sar -P ALL -f /var/log/sa/sa10 Displays CPU usage broken down by all cores for the 10day day of the month from sa10 file.
답변2
gnu 명령을 실제로 대체할 수 있는 명령은 없는 것 같습니다 time
. 그래서 결국 이걸 설치하게 됐어요. OS X에서는 homebrew: 를 사용하여 gnu-time을 설치할 수 있습니다 brew install gnu-time
. 그런 다음 특정 명령의 CPU 사용률을 측정하는 데 사용할 수 있습니다 gtime <command>
. 테스트 결과 내 프로그램이 실제로 동시에 실행되는 것으로 나타났습니다 1.73user 0.13system 0:01.61elapsed 115%CPU
.