Linux 기반 시스템에서 "예비"CPU 시간을 측정하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/131335

  •  02-07-2019
  •  | 
  •  

문제

소프트웨어를 개발하는 일부 고객의 경우 일정량의 예비 리소스 (메모리, 디스크 공간, CPU)를 "보장"해야합니다. 메모리와 디스크 공간은 간단하지만 CPU는 조금 더 어렵습니다.

우리가 사용한 기술 중 하나는 보장 된 양의 CPU 시간 (5 초마다 2.5 초)을 소비하는 프로세스를 만드는 것입니다. 우리는 필요한 모든 CPU 사이클을 실행하고 소비하도록 보장하기 위해이 프로세스를 최우선으로 실행합니다.

정상적인 응용 프로그램이 허용 가능한 성능 수준에서 실행할 수 있고 여가 시간 프로세스가 실행되는 동안 모든 기능 테스트를 통과 할 수 있다면, 우리는 여분의 CPU 시간에 대한 우리의 약속을 충족했다고 ""가정합니다.

나는 같은 일을하는 다른 기술이 있다고 확신하며 그것들에 대해 배우고 싶다.

도움이 되었습니까?

해결책

따라서 이것은 정확히 답변이 아닐 수도 있지만, 응용 프로그램이 자원 소비에 대한 특정 제한을 초과하지 않고 Linux에서 실행중인/etc/security/를 사용자 정의 할 수 있는지 확인하는 것입니다. LIMITS.CON (선택한 배포판의 다른 파일 일 수 있음)은 특정 사용자의 한계를 강제하고 해당 사용자 아래에서 프로세스 만 실행합니다. 물론 고객의 생산 환경에 대한 해당 수준의 제어가 있다고 가정합니다.

다른 팁

내가 올바르게 이해하면, 당신의 우려는 응용 프로그램이 실행되는 반면, 처리 능력의 주어진 비율은 이용할 수 없다.

가장 어려운 접근 방식은 테스트에 저하 하드웨어를 사용하는 것입니다. 설정의 프로세서가 허용되면 온라인으로 다운 클록 할 수 있습니다. Linux 커널은이 작업을 수행하기위한 쉬운 인터페이스를 제공합니다. /sys/devices/system/cpu/cpu0/cpufreq/. 이용 가능한 GUI 응용 프로그램도 있습니다.

프로세서가 온라인으로 클럭 속도를 변경할 수없는 경우 하드 방식으로 수행하고 BIOS에서 더 작은 승수를 선택할 수 있습니다.

나는 당신이 아이디어를 얻는 것 같아요. 2400MHz 대신 1600MHz에서 실행되면 여분의 CPU 시간의 33%를 보장 할 수 있습니다.

SAR은 시스템 리소스의 운영 사용에 대한 정보를 수집하는 표준 *NIX 프로세스입니다. 또한 다양한 보고서를 작성할 수있는 명령 줄 도구가 있으며 데이터가 데이터베이스에 유지되는 것이 일반적입니다.

멀티 코어/프로세서 시스템을 사용하면 선호도를 유리하게 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top