Sysstat 시간 옵션 및 명령 차이점

Sysstat 시간 옵션 및 명령 차이점

Ubuntu 20.04 시스템에서 총 CPU 및 메모리 사용량을 추적하고 싶습니다. 이를 위해 sysstat 라이브러리를 설치하겠습니다. 관련 함수의 매뉴얼과 게시물을 읽었 sar지만 여전히 구문에 대해 혼란스러워합니다.

내가 하고 싶은 것: 5초마다 총 CPU 및 메모리 사용량을 기록합니다. 데이터는 하루에 한 번 CSV로 내보내지고 바이너리 데이터는 제거됩니다.

무엇이 나를 혼란스럽게 하는가: 1. 시간 간격을 지정하는 데는 여러 가지 설정이 있습니다. sar -u %system -r %memused 5CPU 및 메모리 사용량은 5초마다 기록됩니다. 또한 패키지는 5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1에 정의된 대로 10분마다 "활동 보고서"를 생성합니다 /etc/cron.d/sysstat. 5초마다 무슨 일이 일어나는지, 10분마다 무슨 일이 일어나는지 혼란스럽습니다. 프로그램은 먼저 5초마다 데이터를 캐시한 다음 10분마다 파일에 기록합니까? 2. 다양한 기능이 디스크에 기록됩니다. 다음 중 어느 것이 필요합니까? sar -u %system -r %memused -o 5, sadc -u %system -r %memused 5 -, 또는 sa1? 3. sadf -d /var/log/sysstat/sa$(date +%d -d yesterday) > /home/some_user/sar_data.csv일일 CSV 파일( )을 생성하는 코드를 시간 지정 작업으로 실행 해야 합니까 ?

참고 사항: sysstat 방법보다 더 계산적으로 효율적인 솔루션을 알고 있는 사람이 있으면 언제든지 제안해 주세요.

답변1

  1. 5-55/105, 15, 25, 35, 45, 55초에 명령을 실행합니다.
  2. debian-sa1 1 1따라서 debian-sa1 [ interval [ count ] ]한 번에 1초씩 수집됩니다.

당신의 명령에는 sar당신이 없습니다계산따라서 멈출 때까지 5초 동안 누적됩니다.

로그 크기와 CPU 사용량이 크게 증가하지만 예약된 작업(8)1분마다 cron 항목을 확인하세요.

   The time and date fields are:

          field          allowed values
          -----          --------------
          minute         0-59
          hour           0-23
          day of month   1-31
          month          1-12 (or names, see below)
          day of week    0-7 (0 or 7 is Sunday, or use names) 

작업이 시작 간격보다 오래 실행되면 cron에서 심각한 문제가 발생할 수 있으므로안전하지 않음cron 항목을 다음과 같이 조정하십시오.

*/1 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 10 5

또는:

*/1 * * * * root for i in `seq 1 5` ; do debian-sa1 1 1 ; sleep 10 ; done

그러나 이것을 테스트로 수행하면 이 옵션이 얼마나 많은 CPU 시간과 디스크 공간을 차지하는지 확인할 수 있습니다. 그러나 두 번째 명령은 10초 중 1초만 수집하므로 영향이 약간 적습니다.

그러나 위 로그 파일의 크기는 비슷합니다.

둘 다 이 수집 빈도에 맞게 설계 systat되지 않았으므로 cron위의 입자 크기에 대해 높은 안정성을 기대하지 마십시오.

관련 정보