对 Solaris 服务器 Down 机的一次检查
March 28th, 2005
昨晚系统 down 机。修复后查看日志发现如下记录:
#view /var/adm/messages
Mar 27 22:40:39 nbzh.net genunix: [ID 470503 kern.warning] WARNING: Sorry, no swap space to grow stack for pid 3248 (httpd)
Mar 27 22:40:39 nbzh.net last message repeated 4 times
Mar 28 00:31:53 nbzh.net ufs: [ID 526661 kern.notice] NOTICE: mode = 040755, inum = 396864, fs = /export/home
系统看来是 swap 空间不够,引发了重新启动。
#swap -l 看到如下结果:
/dev/dsk/c0t0d0s1 32,1 16 1052144 1040784
# mkfile 500m /var/swap
#swap -a /var/swap
#swap -l 看到:
交换文件 dev swaplo blocks free
/dev/dsk/c0t0d0s1 32,1 16 1052144 1040784
/var/swap
- 16 1048560 1036896
#swap -s
总数:分配了 853136k 字节 + 保留 810880k = 已使用 1664016k,158032k 可用
解决了 swap 的问题后,其他启动一些服务时,冒出来的稀奇古怪的问题就都没有了。
服务器 CPU 标志:
root nexus = Sun Enterprise 450 (2 X UltraSPARC-II 400MHz)
再次检查 /var/adm/messages 发现,还是有警报:
WARNING: Sorry, no swap space to grow stack for pid 5291 (httpd)
决定再增加 swap space ,按照以上步骤新添加 512m 后, 决定重新挂 /dev/dsk/c0t0d0s1 分区。
于是 swap -d /dev/dsk/c0t0d0s1
运行一段时间后, 成功删除,但是再次运行 swap -a /dev/dsk/c0t0d0s1 报告:
操作系统故障转储原先被禁用 –
调用 dumpadm(1M) -d 交换以选择新的转储设备
采用 dumpadm -d swap 后报告:
Dump content: kernel pages
Dump device: /dev/dsk/c0t0d0s1 (swap)
Savecore directory: /var/crash/NBZHAPP
Savecore enabled: yes
# swap -l
交换文件 dev swaplo blocks free
/var/swap - 16 1048560 676672
/var/swap2 - 16 1048560 952496
/dev/dsk/c0t0d0s1 32,1 16 1052144 1051120
成功挂接上了。
root@nbzh:/www/freelamp/photo# swap -s
总数:分配了 927984k 字节 + 保留 758584k = 已使用 1686568k,650736k 可用