Solaris /tmp 文件系统有多少空间?

Solaris /tmp 文件系统有多少空间?

在 Solaris 上,/tmp 文件系统是“tmpfs”类型的文件系统。它在内核中通过从虚拟内存池分配的空间实现。这意味着分配与机器上的可用 RAM 和可用的交换空间交互。

如果我有一台大内存机器(大量 RAM),并且带有较小尺寸的中等交换分区,那么我的 /tmp 空间的大小会受到内存限制,还是受交换空间限制,还是受两者总和的限制?

“df -h /tmp”显示的数字似乎并未反映可用 RAM,而仅反映交换空间。

答案1

这是我目前所知道的。我把它放在这里,希望它有用,但欢迎改进。

交换空间和 RAM 的总和应该可供 /tmp 文件使用。您可以在 tmpfs、mount_tmpfs 和 swap 的手册页中阅读更多相关信息。

以下是一些相关文档:

Oracle Solaris 11.1 管理:设备和文件系统 http://docs.oracle.com/cd/E26502_01/html/E29006/fsswap-29713.html

在 tmpfs 手册页的末尾我发现了这一点:

 df(1M) output is of limited accuracy since a tmpfs file sys-
 tem  size  is not static and the space available to tmpfs is
 dependent on the swap space demands of the entire system.

Oracle 支持文档 1007407.1 建议,如果出现以下情况,则实施将报告空间不足:

 ((RAM + swap - process-space) * .9) - space-from-files-in-tmp = 0

这似乎表明其中涉及某种欺骗因素。

我对该公式的解释是,正在运行的进程可以更接近内存+交换空间的真实限制。当(RAM+交换空间)中的可用空间接近 10% 时,/tmp 中分配的空间将开始失效。如果您拥有较大的 RAM(例如 128G)和较小的默认交换空间(例如 4G),则这意味着 /tmp 可以在从交换空间分配任何页面之前报告它已满。这没有什么不对,只是对传统虚拟内存算法和假设的一个奇怪的扭曲。

相关内容