系统管理指南:设备和文件系统

如何了解是否需要更多交换空间?

使用 swap -l 命令可确定系统是否需要更多交换空间。

例如,以下 swap -l 输出说明此系统的交换空间几乎完全占用或者已经 100% 分配。


% swap -l

swapfile             dev   swaplo blocks   free

/dev/dsk/c0t0d0s1   136,1      16 1638608    88

当系统的交换空间为 100% 分配时,会暂时锁定应用程序的内存页面。虽然不会出现应用程序错误,但可能会降低系统性能。

有关将更多交换空间添加到系统的信息,请参见如何创建交换文件并使其可用

与交换相关的错误消息

这些消息指示应用程序尝试获取更多的匿名内存。但是,没有剩余的交换空间对其进行备份。


application is out of memory

 

malloc error O

 

messages.1:Sep 21 20:52:11 mars genunix: [ID 470503 kern.warning] 

WARNING: Sorry, no swap space to grow stack for pid 100295 (myprog)

与 TMPFS 相关的错误消息

如果写入文件时无法分配页面,则会显示以下消息。如果 TMPFS 尝试写入的量超出其允许的量,或当前执行的程序使用了大量内存,则可能会出现此问题。


directory: File system full, swap space limit exceeded

以下消息表明,TMPFS 尝试创建新的文件或目录时物理内存不足:


directory: File system full, memory allocation failed

有关从与 TMPFS 相关的错误消息恢复的信息,请参见 tmpfs(7FS)