[bf1942] quick server questions

Andreas Fredriksson deplinenoise at gmail.com
Wed Jun 15 10:31:21 EDT 2005


On 6/15/05, Luke <luke at techfreak.org> wrote:

> 1) When launching the 32-bit Linux server TOP shows five instances all
> using 95MB of RAM. Is this normal?

These are threads. Older Linux installations use a pthreads layer
called LinuxThreads which creates additional processes in userland to
represent threads. These show up as artefacts in proc-utils such as
top and ps.

The reason I chimed in is that you will generally see much better performance
on threaded code if you switch to an NPTL-based thread library (via glibc).

NPTL-aware proc-utils also have the added advantage of knowing about
threads and not showing them as processes. NPTL also improves the
signal handling of LinuxThreads.

To see whether you're using LinuxThreads or NPTL; execute libc as a binary.

Here's the output from a machine without NPTL:

[andreasf at sauron ~]$ /lib/libc.so.6
GNU C Library stable release version 2.3.5, by Roland McGrath et al.
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.4.3 20050227 (Red Hat 3.4.3-22).
Compiled on a Linux 2.4.20 system on 2005-04-07.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        linuxthreads-0.10 by Xavier Leroy
        The C stubs add-on version 2.1.2.
        BIND-8.2.3-T5B
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
        Glibc-2.0 compatibility add-on by Cristian Gafton
        GNU Libidn by Simon Josefsson
        libthread_db work sponsored by Alpha Processor Inc
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

And here is the output from an NPTL-based glibc:

andreasf at muddy andreasf $ /lib/libc.so.6
GNU C Library 20041102 release version 2.3.4, by Roland McGrath et al.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.3.5-20050130 (Gentoo 3.3.5.20050130-r1,
ssp-3.3.5.20050130-1, pie-8.7.7.1).
Compiled on a Linux 2.6.8 system on 2005-05-13.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        Native POSIX Threads Library by Ulrich Drepper et al
        The C stubs add-on version 2.1.2.
        GNU Libidn by Simon Josefsson
        BIND-8.2.3-T5B
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

I find that many people don't know about NPTL, so that's why I thought I
would chime in here.

 // Andreas



More information about the Bf1942 mailing list