리눅스에서 일부 nvidia VGA 팬 속도 이상 LINUX

올 초였나 한동안 업무가 바뀌어서 방치되고 있던 리눅스를 다시 구동시켜 업데이트를 하고 나니 엄청 시끄러워졌다.
찾아보니 VGA쿨링팬이 미친듯이 돌아가고 있었다. 이게 나름 잘 되던게 최신 nouveau 드라이버 (리눅스에서 사용하는 nvidia 계열용 오픈소스 드라이버)에 버그가 생긴 것인지 쿨링팬 속도 조절이 안 되고 항상 최고속도로 돌아가게 되 버린 것이다.

여러 군데 삽질 끝에 찾아낸 것이 하나 있는데, 일단 임시방편으로 간단히 쓸 수 있는 것은 루트 계정으로 들어가서
# echo 45 > /sys/devices/pci0000\:00/0000\:00\:01.0/0000\:01\:00.0/hwmon/hwmon0/pwm1

식으로 팬 속도를 강제 지정하는 것이었다. (VGA가 설치된 슬롯 위치 같은 것에 따라서 파일명이 약간 다를 수도 있다)
그런데 이게 젠투에서는 되는데, CentOS6에서는 안 되는 것이다. 좀 찾아보니 (100% 장담할 수는 없지만) CentOS가 커널과 드라이버 같은 것의 버전이 낮은 것이라서 지정하는 기능이 없는 것으로 보인다. - 그래서 CentOS는 아직 해결을 못 했다.

Gentoo기준으로 다시 쓰자면 위에 쓴 것은 부팅하고 매번 새로 해 줘야하는 것이라 불편하다. 자동으로 하려면 sys-apps/lm_sensors 패키지를 설치하고, 해당 패키지에 들어있는 프로그램인 pwmconfig로 적절히 설정은 한 다음 (그러면 프로그램인 /etc/fancontrol 파일을 알아서 생성해 줄 것이다. )
fancontrol서비스를 활성화시키는 것이다. 현재 gentoo가 사용하는 systemd 기반으로 쓰자면 아래와 같다. 실제 작업을 하고 나서 한참후에 글을 쓰는 것이라 세부 방법을 까먹었다. ㅜㅜ 어쨌든 결과 파일은 아래와 같다.

/etc/fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon0=devices/pci0000:00/0000:00:01.0/0000:01:00.0
DEVNAME=hwmon0=nouveau
FCTEMPS=hwmon0/pwm1=hwmon0/temp1_input
FCFANS=hwmon0/pwm1=
MINTEMP=hwmon0/pwm1=30
MAXTEMP=hwmon0/pwm1=90
MINSTART=hwmon0/pwm1=44
MINSTOP=hwmon0/pwm1=30
MINPWM=hwmon0/pwm1=30
MAXPWM=hwmon0/pwm1=53

그리고 systemd에서 fancontrol을 활성화시키는 것은
# systemctl enable fancontrol

참 쉽죠?

덧글

댓글 입력 영역



메모장

W 위젯