CPU를 특정 비율로 사용 중으로 유지(CPU 버즈 주파수 소음 방지) [끄기]

CPU를 특정 비율로 사용 중으로 유지(CPU 버즈 주파수 소음 방지) [끄기]

Dell Inspiron 7559터치패드를 터치하면 키보드 아래에서 주파수가 바뀌는 전기적 윙윙거리는 소리가 들립니다.

하지만 CPU가 바쁜 경우에는 주파수가 내 가청 범위를 벗어나기 때문에 윙윙거리는 소리가 들리지 않습니다.

CPU를 충분히 사용하고 노트북을 조용하게 유지하기 위해 다음과 같은 스크립트를 실행하고 싶습니다.

#!/bin/sh
recursiveDelay(){ sleep 0.001; recursiveDelay;}
recursiveDelay

그러나 CPU 비율은 점차 높아집니다.

어떻게 특정 비율로 유지할 수 있나요?

답변1

CPU가 더욱 공격적인 절전 모드로 전환되는 경우가 발생할 수 있습니다. 이로 인해 내부 스위치 모드 조정기가 펄스 스키핑 모드로 전환되어 스위칭 주파수가 가청 범위로 감소됩니다. 소음은 인덕터와 커패시터에서 발생하며 둘 다 약간 마이크로포닉합니다(역으로도 작동하여 소리를 냅니다).

그것은 나쁜 디자인이었지만 어쨌든 당신은 그것을 고수했습니다.

이 문제를 해결하는 "가장 좋은" 방법은 BIOS로 가서 CPU를 덜 공격적인 조절로 구성하는 것입니다. 이렇게 하면 모든 멋진 배터리 절약 모드가 시작되는 것을 방지할 수 있으므로 해당 작업을 망칠 필요가 없습니다.

또 다른 방법은 달리는 것입니다.효과가있다다음과 같은 작업세티@홈아니면 당신이 하고 싶은 다른 어떤 것도 할 수 있습니다. 나생각하다cpulimitSETI@Home은 CPU 제한 비율을 설정할 수 있지만 그렇지 않은 경우 Linux 명령을 사용할 수 있습니다 .

가장 흥미롭지 않은 방법은 스트레스 테스트 유틸리티 중 하나를 사용하여 주기를 소비하는 것입니다. techraf는 Stress-ng를 제안했으며 몇 가지 다른 유사한 유틸리티도 있습니다.

충분히 세분화된 조절 기능이 있는 유틸리티를 찾을 수 없는 경우를 위해 Perl의 한 줄짜리 코드를 준비했습니다. 스로틀을 조정할 수 있습니다. 나는 Perl을 사용합니다. 왜냐하면 그것이 제가 아는 전부이기 때문입니다. 좋아하는 프로그래밍 언어를 연결하세요.

perl -MTime::HiRes=sleep -e 'sleep 0.0001 while 1'

0.0001 부분을 변경하면 CPU를 더 많이 또는 더 적게 사용하게 됩니다.

답변2

데비안이나 우분투에 설치압력NG그리고 apt-get install stress-ng.

그런 다음 다음을 실행하십시오.

stress-ng -c 1 -l 50

-c(CPU 수) 및 -l(로드 비율) 매개변수를 사용합니다 .


Fedora/RedHat/CentOS의 경우 컴파일해야 할 것 같습니다(소스 저장소는여기) 다음 절차를 따르십시오.

wget http://kernel.ubuntu.com/~cking/tarballs/stress-ng/stress-ng-0.05.25.tar.gz
tar zxvf stress-ng-0.05.25.tar.gz
cd stress-ng-0.05.25/
make
./stress-ng -c 2 -l 50

관련 정보