在 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
答案1
在一个在 Ask Ubuntu 上发帖,科里登特建议一个可能的解决方法:
mount
向文件中添加命令/etc/rc.local
:
mount -t tmpfs tmpfs /run -o remount,size=85M
确保脚本exit 0
在成功时将返回“ ”,在出错时将返回任何其他值。(摘自文件。)
答案2
我认为没有必要增加 /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 脚本安装的,那么它应该找到执行安装的文件和行。
答案3
临时增加tmpfs文件系统
1)/etc/fstab
使用vi
或您选择的任何文本编辑器打开,
2)找到该行/dev/shm
并使用 tmpfs size 选项来指定预期大小,
e.g. 512MB:
tmpfs /dev/shm tmpfs defaults,size=512m 0 0
e.g. 2GB:
tmpfs /dev/shm tmpfs defaults,size=2g 0 0
然后
mount -o remount /dev/shm
答案4
由于 journald.conf 配置错误,我出现了此错误,我使用了 Storage=volatile 和 RuntimeMaxUse=1G,而 /run 的大小只有 200M。/run 分区是内存分区。Storage=volatile 告诉 journald 将日志存储在内存中的 /run/log/journal 中,并且使用 RuntimeMaxUse=1G 我们很容易得到 >200M 日志溢出。
以“System”为前缀的选项适用于存储在持久文件系统(更具体地说是 /var/log/journal)上的日志文件。以“运行时”适用于存储在易失性内存文件系统中的日志文件,更具体地说是 /run/log/journal。
对我来说,解决方案是使用以下命令配置 journald.conf:
[Journal]
Storage=persistent
RuntimeMaxUse=50M
SystemMaxUse=1G
更多细节:
$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 199M 199M 0M 100% /run
$ du -sh /run/log/journal
199.0M /run/log/journal
$ cat /etc/systemd/journald.conf
[Journal]
Storage=volatile
RuntimeMaxUse=1G