新的pstate英特尔驱动程序让我很恼火,因为他们移除了旧的powersave调节器,让我可以设置最低可用的 CPU 频率,并在安静、寒冷的笔记本电脑中运行数小时或数天的数值模拟。更糟糕的是,他们现在所说powersave的基本上是旧的调速器ondemand,即 CPU 频率随着负载而上升的模式,并伴随着该死的风扇噪音:
由于这些策略在驱动程序中实现,因此它们与 cpufreq 缩放调控器实现不同,即使它们在 cpufreq sysfs (scaling_governors) 中具有相同的名称。例如,“性能”策略类似于 cpufreq(TM)“性能”调控器,但“powersave”与 cpufreq“powersave”调控器完全不同。这里的策略类似于 cpufreq "ondemand",其中请求的 P-State 与系统负载相关。
(摘自https://www.kernel.org/doc/Documentation/cpu-freq/intel-pstate.txt)
现在,请问有没有其他方法可以将我的 CPU 频率保持在最低水平?这对我来说真的很重要。如果我最终无法设置恒定的最低 CPU 频率,我只是更喜欢将笔记本电脑通过窗户倾倒。这就是我使用笔记本电脑的方式,这就是我想要一台笔记本电脑的用途,而且我已经尝试实现这一目标好几天了!
我正在尝试这个,但它不起作用:
echo 42 | sudo dd of=/sys/devices/system/cpu/intel_pstate/max_pref_pct
Run Code Online (Sandbox Code Playgroud)
将最大速度设置为 42%,它没有任何影响,每当我做某事时,CPU 都会继续运行到 100%。我究竟做错了什么?(我应该重启一些服务还是什么?)
有没有办法得到这个?另外,非英特尔 CPU 允许我这样做吗?我不介意再买一台能解决问题的笔记本电脑。
在两个外部 USB 驱动器之间移动大量数据时,我注意到我的笔记本电脑变慢了。我的理解是,除非可用 RAM 不足,否则文件不会写入任何中间位置(例如 /tmp 或类似位置)。我错了吗?
在我将我的笔记本电脑借给我年轻且精通 linux 的侄子之前,我想确保他无法在驱动器的空白空间中刻入我的个人数据。我已经多次饱和驱动器中的空白空间
sudo cat /dev/urandom > some-file
Run Code Online (Sandbox Code Playgroud)
注意 sudo 的使用,这样保留的 5% 空白空间会被忽略,文件会一直增长,直到出现错误。
但是,我在该分区中执行 photorec,然后会弹出数百个旧文件。那么,至少出于好奇,这些文件存储在哪里,为什么随机噪声没有覆盖它们?
(到目前为止,我唯一的解释是,它们可能位于文件末尾和包含它的扇区末尾之间的空白处。可能是这样吗?)
从磁盘休眠状态恢复后,我希望笔记本电脑执行某些操作。
特别是,我默认将它设置为最低的 CPU 频率,这使它绝对安静(根本没有风扇噪音)但在大多数情况下仍然足够快(当我真的需要更多计算能力时,我用另一个脚本更改策略)。但是,从磁盘休眠中恢复后,默认的出厂行为已恢复,即可变频率和该死的风扇在这里和那里启动,以便为我提供打开程序快几分之一秒的奇妙体验。
备注:如果有人对在我的笔记本电脑中设置最低 CPU 的脚本感到好奇(以防有更好的方法来执行此操作且不受休眠/恢复影响),这里是:
sudo cpufreq-set -c 0 -g userspace
sudo cpufreq-set -c 1 -g userspace
sudo cpufreq-set -c 2 -g userspace
sudo cpufreq-set -c 3 -g userspace
sudo cpufreq-set -c 0 -f 400MHz
sudo cpufreq-set -c 1 -f 400MHz
sudo cpufreq-set -c 2 -f 400MHz
sudo cpufreq-set -c 3 -f 400MHz
Run Code Online (Sandbox Code Playgroud)
而且,顺便说一下,这需要在 grub 中禁用intel_pstate,这告诉我将来不会有此功能。如果这是我的意愿,为什么英特尔有时不喜欢让我拥有一台安静而缓慢的计算机,这对我来说是一个谜。