/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
内容を800000から1600000に編集して変更したいです。
初めて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です。
それでは別の方法を試してみましょう。
$ sudo less /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
ここでクリックして
v
ナノのデフォルトエディタを呼び出し、値を変更します。 nano以下を終了した後、ファイルを再確認してみたところ、ファイルが正常に変更されたことがわかりました。
最初の方法は機能しませんが、2番目の方法は機能する理由を知りたいです。
私はThinkpad T400でUbuntu 16.04を実行しています。ありがとうございます。
答え1
コメントから:
Emacsはファイルを保存するときに古いファイルの名前を変更し、バックアップファイルとして作成し、元の名前で新しいファイルを作成します。私はあなたのケースで何が起こっているのか、なぜEmacsが文句を言わないのかわかりませんが、Emacsは間違いなく間違ったツールです。 ——ジョン・マイレーン
正しいツールは、古いファイルの名前を変更するのではなく、元のファイルを上書きまたは追加するツールである必要があります。
覚えておいてください:以下は実用的で/sys
継続的な文書ではありません。これはすべてファイル形式で提供されるカーネルパラメータとステータス情報です。移動、名前の変更、削除はできません。
以前は、これらの設定を操作するためにコマンドを(またはすぐに)それぞれにするcpufreq-info
ことができます。cpufreq-set
cpupower frequency-info
cpupower 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_setspeed
i7-6700HQがあるのでマイコンピュータに設定できません。従来の第3世代i7-3630QMも同様です。
したがって、これらのプラットフォームでは同じレベルにscaling_min_freq
設定し、絶対に変動しません。おそらくすべてのCPUに同じ設定を適用します。scaling_max_freq
p_state
.../cpu0/...
.../cpu7/...