Po delší době zazlobil jeden HP-UX server. Nedalo se na něj nijak připojit, ani z console:
server25 [HP Release B.11.00] (see /etc/issue) Console Login: root /usr/lib/dld.sl: Call to mmap() failed - ZEROES /usr/lib/libnsl.1 /usr/lib/dld.sl: Not enough space server25 [HP Release B.11.00] (see /etc/issue) Console Login:
Nakonec se po odpojení všech userů podařilo přes consoli nalogovat. Evidentně se nedostávalo paměti na nové procesy. Z ITRC serveru jsem se dozvěděl, že se tak stává většinou při zaplnění swapu, když má nějaký program memory leak. No, do programů dodavatelů se hrabat nebudem, že… Takže přidáme trochu swapu.
Po přidání swap disku do serveru se při bootu objevila hláška Unable to add all swap for device: /dev/vg05/swap2. Increase the tunable parameter maxswapchunks by 252 and re-configure your system. Jasně, zvýším maxswapchunks a je to. Jenže… Spustil jsem sam, změnil parametry jádra, rekompiloval kernel a rebootnul. A pak to přišlo….
j2Dj10L
FLT B800jCj1D
Stored message buffer up to panic:
gate64: sysvec_vaddr = 0xc0002000 for 1 pages
Interrupt Type 9 (Break instruction trap):
Instruction Address (pcsq.pcoq) = 0x0.0x81c6d8
Instruction (iir) = 0x00000000 (non-load/store)
Savestate Ptr (ssp) = 0x0.0x00000000006bc480
Savestate Return Pointer (ss_rp) = 0x81c6d8
System Panic:… atd.
No co, server je kilometry daleko, počkáme na automatický reboot (tak asi 5-10 minut) a nabootujeme z předchozího jádra. Během bootovací hlášky To discontinue, press any key within 10 seconds. stiskneme cokoliv. Pak už je to sranda :-) :
Boot terminated.
---- Main Menu ---------------------------------------------------------------
Command Description
------- -----------
BOot [PRI|ALT|] Boot from specified path
PAth [PRI|ALT] [] Display or modify a path
SEArch [DIsplay|IPL] [] Search for boot devices
COnfiguration menu Displays or sets boot values
INformation menu Displays hardware information
SERvice menu Displays service commands
DIsplay Redisplay the current menu
HElp [<menu>|<command>] Display help for menu or command
RESET Restart the system
----
Main Menu: Enter command or menu >bo pri
Interact with IPL (Y, N, or Cancel)?> y
Booting...
Boot IO Dependent Code (IODC) revision 152
HARD Booted.
ISL Revision A.00.38 OCT 26, 1994
ISL> hpux boot disk()/stand/vmunix.prevSystém naběhne z předešlého jádra, poučíme se z chyb, na správný výpočet maxswapchunks použijeme vzoreček total_swap = swchunk * maxswapchunks * 1k a pamatujeme na to, že limit je 16384.
Sam, změna maxswapchunks, rekompilace kernelu, reboot a jedem!!! Server naběhl jak po másle. Doufám, že o něm zase 2 roky nebudu ani vědět :-)