使用 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 尝试写入的量超出其允许的量,或当前执行的程序使用了大量内存,则可能会出现此问题。
directory: File system full, swap space limit exceeded |
以下消息表明,TMPFS 尝试创建新的文件或目录时物理内存不足:
directory: File system full, memory allocation failed |
有关从与 TMPFS 相关的错误消息恢复的信息,请参见 tmpfs(7FS)。