在 Ubuntu Precise 上,/run 中的空间不足:
admin@foo:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 6.6G 12G 38% /
udev 10M 8.0K 10M 1% /dev
none 50M 40M 11M 79% /run
none 5.0M 0 5.0M 0% /run/lock
none 249M 0 249M 0% /run/shm
我应该分配更多吗?如何?
编辑:这是我的 fstab:
admin@foo:~$ cat /etc/fstab
proc /proc proc defaults 0 0
/dev/sda1 / ext3 defaults,errors=remount-ro,noatime 0 1
/dev/sda2 none swap sw 0 0
在Ask Ubuntu 上的帖子中,korrident提出了一个可能的解决方法:
在文件中添加
mount
命令/etc/rc.local
:确保脚本
exit 0
在成功时为“”,在出错时为任何其他值。(从文件中摘录。)我不认为增加 /run 的大小是必要的,但如果您确实需要增加它,请尝试编辑您的 /etc/fstab 文件。所有挂载点和大多数分区都列在那里。如果你的 /run 分区是一个 tmpfs(它应该是,至少根据https://askubuntu.com/questions/57297/why-has-var-run-been-migrated-to-run,我会在之前确认按照这些说明)然后您可以简单地将 /run 挂载的 fstab 行更改为类似于以下内容的内容:
none /dev/shm tmpfs defaults,size=8G 0 0
看看大小是如何在之后声明的
defaults
?尝试这样做。您也可以使用 M 来使用兆字节:none /dev/shm tmpfs defaults,size=100M 0 0
在此之后重新启动计算机,应该会发生更改。
编辑:从头开始,看起来 Ubuntu
run
使用 /etc/init 和 /etc/init.d 中的文件而不是通过 fstab 创建分区。您必须查看这些文件并找到它用于run
手动创建和编辑它的 mount 命令。我现在没有盒子来测试这个,但试着运行这个:find /etc/init* -type f | xargs grep "mount"
或者
find /etc/init* -type f | xargs grep "run"
如果它是通过 bash 脚本安装的,那么这应该会找到执行安装的文件和行。
临时增加tmpfs文件系统
1)打开或您选择
/etc/fstab
的vi
任何文本编辑器,2) 找到行
/dev/shm
并使用 tmpfs 大小选项指定您的预期大小,然后
这并没有严格回答问题,因为这个功能不在 Ubuntu 12.04 中,但如果它可以帮助有类似问题的人,从 Debian buster 或 Ubuntu 18.10 开始,您可以使用
initramfs.runsize=
引导参数;默认值为initramfs.runsize=10%
,但您可以使用 eginitramfs.runsize=20%
或initramfs.runsize=128M
代替。此功能是为响应Debian 错误 #862013而添加的。
由于我使用 Storage=volatile 和 RuntimeMaxUse=1G 的 journald.conf 配置错误,我遇到了这个错误,其中 /run 的大小仅为 200M。/run 分区是一个内存分区。Storage=volatile 告诉 journald 将日志存储在内存中的 /run/log/journal 中,并且当 RuntimeMaxUse=1G 时,我们很容易得到 >200M 的日志溢出。
-- 来自journald.conf 文档
我的解决方案是配置 journald.conf :
更多细节: