Linux RAM/TMP、FS 上的剩余空间

use*_*001 0 filesystems

最近,我开始相信在运行 Parted Magic Live CD 时发生的一些不寻常事件是基于 RAM 的文件系统空间不足的结果,即:

  • 文件夹内容消失,稍后重新出现
  • Mount-gtk不显示单个安装的驱动器/不允许卸载(虽然 bashmount命令正常运行)
  • Firefox 冻结,然后似乎冻结了 GUI。
  • 我的 Firefox 会话正在恢复,就像浏览器在每次干净关闭时崩溃一样
  • 丢失 Firefox 会话历史记录的最后 x 分钟
  • 声音/剪贴板重定向间歇性不起作用 rdesktop
  • Conky 定期崩溃

...尽管 SpaceFM 警告没有空间来存储状态数据,并且其中一些问题只有在将一些文件从文件系统中移出后才会消失。

问题是,我不确定如何(至少)关注文件系统左侧的“空间”(注意:在, or/的输出中没有分区条目),更不用说(假设我是对的文件系统空间与系统内存无关,我一直在监视)如何在启动时增加大小?dffdisk -lmountconky

帮助?

PS 认为用(或 ... 不知道如何识别正在使用哪个)和类的标签来标记这个问题最合适,但可惜似乎没有任何一位。如果社区不想创建一个/全部,请随意建议其他人认为合适的其他标签。

cas*_*cas 6

默认情况下,tmpfs的内存盘将被设置为使用最大可用RAM的一半的系统(注意,一个标准的,非PAE,32位内核可以通过设备使用的最大4GB减去任何地址空间的地址像VGA卡)。

我刚刚在虚拟机中启动 Parted Magic 2013 08 01,给它 4GB RAM。rootfs 总共有 2GB,使用了大约 444KB,所以 PM 使用 tmpfs 的默认值。如果我仅使用 1GB RAM 重新启动 VM,则根 tmpfs 只有 504MB 可用 - 内核使用了一些,因此略小于总 RAM 的一半。

它还将 /tmp 和 /run 挂载为相同大小的 tmpfs。请注意,这些文件系统不是额外的空间,它们使用与 rootfs 和任何正在运行的程序相同的 RAM 池(即在具有 1GB RAM 的系统上略小于 1GB)。

(顺便说一句,df在我删除 /etc/mtab 并将其替换为 /proc/mounts 的符号链接之前,它甚至不会运行)。

需要记住的重要一点是 tmpfs 和任何正在运行的程序共享相同的系统内存 - 因此,如果您填满 tmpfs,它将减少可用于运行程序的 RAM 量,并且如果您运行使用大量 RAM 的程序,它将减少可用于 tmpfs 的 RAM 量。

你似乎两者都在做。您正在用日志文件填满磁盘,并且您正在运行 firefox、X 和 rdesktop - 所有这些都倾向于使用大量 RAM。Unix 系统在 rootfs 已满时反应不佳,并且当 RAM 开始变得紧张时,Linux 内核的内存不足 (OOM) 任务将开始随机终止进程以释放一些 RAM。

这些因素中的任何一个都会导致奇怪的、不可预测的问题。两者加在一起只会使问题不可避免。

正如其他人所建议的那样,我强烈建议您不要以这种方式使用 Live CD(Parted Magic 或任何其他)。它们不是为它设计的,你所做的几乎肯定会导致问题。简而言之,Don't Do That, Then!

相反,要么重新分区您的硬盘并在其上安装一个小发行版,在 VM 中运行一个 linux 发行版,或者找到一个发行版,该发行版可以在不使用 tmpfs 的情况下通过 USB 记忆棒安装并运行 /root - 即使用 USB 记忆棒作为它的根文件系统(这比从 tmpfs 运行要慢得多。不,我不知道有任何这样的工作)。或使用 USB 硬盘而不是 U 盘。

顺便说一句,你的系统有多少内存,你运行的是什么版本的 Parted Magic?