Ubuntu 有一个尚未修复的问题,每当复制到 USB 记忆棒时,PC 就会冻结或变得非常慢(请参阅当我将文件复制到随身碟时,为什么我的电脑死机了?,http://lwn.net/Articles/572911/和https://askubuntu.com/q/508108/234374)。
解决方法是以 root 身份执行以下命令(请参阅这里以获得解释)作为 root:
echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes
我如何恢复这些更改?当我重新启动电脑时,它会回滚到默认值吗?
答案1
这些都是系统控制参数。您可以通过写入或调用来设置它们/proc/sys/CATEGORY/ENTRY
sysctl
带参数的命令。这些设置会影响正在运行的内核,它们不是持久的。CATEGORY.ENTRY=VALUE
如果您想让这些设置持久化,您需要在启动时设置它们。在 Ubuntu 上,在/etc/sysctl.d
名为becko-vm-dirty.conf
contains 的目录中创建一个文件
# Shrink the disk buffers to a more reasonable size. See http://lwn.net/Articles/572911/
vm.dirty_background_bytes = 16777216
vm.dirty_bytes = 50331648
要恢复更改,请将旧值写回。没有“恢复默认值”命令。
请注意,这些参数有点特殊:还有称为vm.dirty_ratio
和 的参数vm.dirty_background_ratio
,它们控制相同的设置,但将大小表示为总内存的百分比而不是字节数。对于这两个设置中的每一个,最后设置的ratio
或bytes
者优先。
答案2
那里无法将这些值重置为默认值 0。从内核 4.4 开始,这样做失败了EINVAL
。