对 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 可用


Leave a Reply