sudo emacs가 /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed를 수정할 수 없는 이유는 무엇입니까?

sudo emacs가 /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed를 수정할 수 없는 이유는 무엇입니까?

/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed내용을 800000에서 1600000으로 편집하고 변경하고 싶습니다 .

  1. 처음으로 emacs를 사용해 보았습니다.

    $ sudo emacs -nw /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
    

    Emacs에서는 파일의 값을 1600000으로 변경했으며 변경 사항을 저장하면 메시지 버퍼에 다음과 같이 표시됩니다.

    Saving file /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed...
    Wrote /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
    

    하지만 emacs를 종료하고 파일을 다시 읽어도 값은 여전히 ​​800000입니다.

  2. 그럼 다른 방법을 시도해 볼까

    $ sudo less /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
    

    여기에서 클릭하여 vnano인 기본 편집기를 호출한 다음 값을 변경합니다. nano 이하를 종료한 후 파일을 다시 확인해보니 파일이 성공적으로 변경된 것을 발견했습니다.

첫 번째 방법은 작동하지 않지만 두 번째 방법은 작동하는 이유를 알고 싶습니다.

저는 Thinkpad T400에서 Ubuntu 16.04를 실행하고 있습니다. 감사해요.

답변1

댓글에서:

Emacs는 파일을 저장할 때 이전 파일의 이름을 바꾸고 백업 파일로 만든 다음 원래 이름으로 새 파일을 만듭니다. 나는 귀하의 경우에 무슨 일이 일어나고 있는지, 왜 Emacs가 불평하지 않는지 모르지만 Emacs는 분명히 잘못된 도구입니다. ——존 마일레인

올바른 도구는 이전 파일의 이름을 바꾸는 대신 원본 파일을 덮어쓰거나 추가하는 도구여야 합니다.

기억하세요: 아래 내용은 /sys실제적이고 지속적인 문서가 아닙니다. 이는 모두 파일 형태로 제공되는 커널 매개변수 및 상태 정보입니다. 이동하거나 이름을 바꾸거나 삭제할 수 없습니다.

이전에는 이러한 설정을 조작하기 위해 명령이 이제(또는 곧) 각각 cpufreq-info및 가 될 수 있습니다 .cpufreq-setcpupower frequency-infocpupower frequency-set

답변2

의견에서 언급했듯이 1600MHz 속도를 설정하는 전통적인 방법은 다음과 같습니다.

echo 1600000 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

효과를 확인하려면 다음을 사용하십시오.

$ cd /sys/devices/system/cpu/cpu0/cpufreq/
$ paste <(ls *) <(cat *) | column -s $'\t' -t
affected_cpus                             0
cpuinfo_max_freq                          3500000
cpuinfo_min_freq                          800000
cpuinfo_transition_latency                4294967295
energy_performance_available_preferences  default performance balance_performance balance_power power 
energy_performance_preference             balance_performance
related_cpus                              0
scaling_available_governors               performance powersave
scaling_cur_freq                          807325
scaling_driver                            intel_pstate
scaling_governor                          powersave
scaling_max_freq                          3500000
scaling_min_freq                          800000
scaling_setspeed                          <unsupported>

scaling_setspeedi7-6700HQ가 있으므로 내 컴퓨터에 설정할 수 없습니다. 기존 3세대 i7-3630QM도 마찬가지입니다.

따라서 이러한 플랫폼에서는 동일한 수준으로 scaling_min_freq설정 하고 절대 변동하지 않습니다. 아마도 모든 CPU에 동일한 설정을 적용할 것입니다.scaling_max_freqp_state.../cpu0/....../cpu7/...

관련 정보