panic: kmem_malloc(16384): kmem_map too small: md-mounted /tmp
filled up
Yar Tikhiy
yar at comp.chem.msu.su
Sun Mar 4 08:27:58 UTC 2007
On Tue, Feb 27, 2007 at 04:03:30PM -0500, Mikhail Teterin wrote:
> On Tuesday 27 February 2007 15:53, Alex Kozlov wrote:
> = > Yes, I switched to swap-backed md already. But the malloc-based variety is
> = > currently the _default_ (see /etc/defaults/rc.conf)...
> = Bad default.
>
> Filing a PR.
Keep in mind that changing the default can break existing setups.
Such setups are likely to be broken anyway, but... E.g., if we
drop the -M flag, it will break systems with tons of RAM but little
swap using tmpmfs. OTOH, if we add '-o reserve', that will break
systems with a too large but mostly unused tmpmfs. A sort of a loud
announcement will be needed.
By the way, I seem to be the one responsible for the paragraph in
rc.conf(5) advocating -M "for maximum performance and system stability
at low memory conditions". When I wrote it, I thought as follows:
were the system low on memory, additional swap activity due to mfs
would just make the system start thrashing sooner, while malloc'd
mfs would just report ENOSPC. I was unaware of the panic back then.
Perhaps it was a misconception, either. I haven't heard of any real
pitfalls in swap-backed mfs, and getting ENOSPC on /tmp early is no
good.
> = > Creation of a 2Gb malloc-based md should've failed on a machine with
> = > 768Mb of RAM, shouldn't it have?
> = Only if you set '-o reserve'. Memory for malloc-based md was allocated
> = dynamically.
>
> But malloc can only allocate from RAM, right? So the amount of RAM is the hard
> limit, which a malloc-based md can not exceed even in theory. This means,
> md-creation should've failed...
>
> In fact, the limit should, of course, be even lower -- and mdmfs should be
> smart enough to substract the sizes of other kernel memory chunks from the
> maximum.
>
> Since even that would still not be a guarantee against running out, the system
> should be able to recover gracefully instead of panicing. Do you agree?
FWIW, some discussion of the panic is in the audit trail of kern/87255.
Irrespective of tmpmfs defaults, this is a way to panic the system
with stock tools and without doing something totally stupid like
writing junk to /dev/mem.
--
Yar
More information about the freebsd-stable
mailing list