SUMMARY: hard vs. soft reboot

From: tru64@sxu.edu
Date: Thu Feb 20 2003 - 11:32:28 EST


Thanks to
Bluejay Adametz, Selden E Ball Jr, Corinne Haesaerts, Nick Hill,
Bruce Hines, Jeffrey Hummel, Jim Kurtenbach, Tom Linden,
Daniel Pettersson, David Rabjohns, Chris Ruhnke, and many others.

Response to my question was swift, vocal, and highly entertaining.
A representative sample of the feedback I received:

When UNIX starts, it is impossible for a resident process that may have
been previously running to still have any of the ethernet ports. With
regards to physical ports, I would be extremely surprised to find out they
were not initialized by the kernel during startup.

Whatever type
of reboot you do there is no carry over of threads and port allocations. I
question why you should need to reboot monthly, I have run systems with
uptimes of well over a year between reboots and there are no "ghost threads"
or other such problems. UNIX is quite capable of running multi-threaded
applications correctly.

Turning off power is only needed if the hardware locks up, and that is
very, very rare. On the other hand, hardware such as hard drives and fans
break down faster when power cycling them.

Some devices may need to be powered down to be reset, this is
sometimes the case with scsi contollers. But I don't know why
you should perform the reboots in the first place.

You are not wrong. I believe the SRM code on the ES40 will also perform an
init whenever shutdown -h or shutdown -r is run. This would clear hardware
registers and such.

A powercycle will guarantee that your HARDWARE is reset to power-on status.
There is nothing in the SOFTWARE that is affected by a powercycle. In most
cases, anything at the software level that is cleared by a reboot is
cleared by a "soft" reboot. Software, such as Java, cannot preserve ports
across a boot unless they are an artifact of a hardware setting -- e.g.
conceivably a "smart" network interface which makes/breaks/preserves
connections via on-board firmware code.

a. UNIX systems are now doing many things, quite well, that they were not
originally intended to do (SMP, LANs, SANs, just to name a few).
b. A thread is a run-time operating system construct. When the operating
system goes away (reboots), it's gone. Period.
c. I've never seen any sign of "ghost threads", much less seen any problems
as a result of them. And I have systems that run, literally, for years at a
time between reboots.
d. I have seen cases where some odd bit of hardware does not reset properly
during a soft boot, but this is rare and usually indicates a hardware
problem. Setting the console variable BOOT_RESET to ON would usually
workaround this sort of problem.
Bottom line: not only do I think a hard boot is not necessary, I don't think
a soft boot is either.

A reboot really does stop all images and since the network stacks are
programs. There should not be any open ports, ghosts, poltergheists, etc.
In my opinion, those that recommend a boot have been running programs that
do not free memory properly and the resultant memory leaks consume the
system resources, forcing a reboot. Actually stopping the misbehaving
program and restarting it would have the same effect.
A reboot, however works everytime and is faster than really finding the
problem/reason requiring a reboot.



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:49:08 EDT