# Serious Performance Issues - Possible FreeNX issues

## jthompson

I have a server that is used for serving basic desktop apps using KDE.  I am having some performance issues with it.  I have no ideas what is going on though or why it is happening.

```
tail -n 100 /var/log/messages
```

```
Sep 14 15:30:26 bas-desktop Normal free:8856kB min:3756kB low:4692kB high:5632kB active:7480kB inactive:689548kB present:901120kB pages_scanned:1325778 all_unreclaimable? no

Sep 14 15:30:26 bas-desktop protections[]: 0 0 0

Sep 14 15:30:26 bas-desktop HighMem free:2816kB min:512kB low:640kB high:768kB active:1740936kB inactive:1427560kB present:3178432kB pages_scanned:6810 all_unreclaimable? no

Sep 14 15:30:26 bas-desktop protections[]: 0 0 0

Sep 14 15:30:26 bas-desktop DMA: 2*4kB 0*8kB 0*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 72kB

Sep 14 15:30:26 bas-desktop Normal: 1100*4kB 79*8kB 11*16kB 2*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 8856kB

Sep 14 15:30:26 bas-desktop HighMem: 488*4kB 30*8kB 13*16kB 1*32kB 0*64kB 1*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2816kB

Sep 14 15:30:26 bas-desktop Swap cache: add 765532, delete 765450, find 140471/159326, race 0+1

Sep 14 15:30:26 bas-desktop Out of Memory: Killed process 8573 (firefox-bin).

Sep 14 15:30:26 bas-desktop Fixed up OOM kill of mm-less task

Sep 14 15:30:49 bas-desktop oom-killer: gfp_mask=0xd0

Sep 14 15:30:49 bas-desktop DMA per-cpu:

Sep 14 15:30:49 bas-desktop cpu 0 hot: low 2, high 6, batch 1

Sep 14 15:30:49 bas-desktop cpu 0 cold: low 0, high 2, batch 1

Sep 14 15:30:49 bas-desktop cpu 1 hot: low 2, high 6, batch 1

Sep 14 15:30:49 bas-desktop cpu 1 cold: low 0, high 2, batch 1

Sep 14 15:30:49 bas-desktop Normal per-cpu:

Sep 14 15:30:49 bas-desktop cpu 0 hot: low 32, high 96, batch 16

Sep 14 15:30:49 bas-desktop cpu 0 cold: low 0, high 32, batch 16

Sep 14 15:30:49 bas-desktop cpu 1 hot: low 32, high 96, batch 16

Sep 14 15:30:49 bas-desktop cpu 1 cold: low 0, high 32, batch 16

Sep 14 15:30:49 bas-desktop HighMem per-cpu:

Sep 14 15:30:49 bas-desktop cpu 0 hot: low 32, high 96, batch 16

Sep 14 15:30:49 bas-desktop cpu 0 cold: low 0, high 32, batch 16

Sep 14 15:30:49 bas-desktop cpu 1 hot: low 32, high 96, batch 16

Sep 14 15:30:49 bas-desktop cpu 1 cold: low 0, high 32, batch 16

Sep 14 15:30:49 bas-desktop

Sep 14 15:30:49 bas-desktop Free pages:        6300kB (896kB HighMem)

Sep 14 15:30:49 bas-desktop Active:522506 inactive:446445 dirty:0 writeback:0 unstable:0 free:1575 slab:20835 mapped:961235 pagetables:14836

Sep 14 15:30:49 bas-desktop DMA free:68kB min:68kB low:84kB high:100kB active:5704kB inactive:5160kB present:16384kB pages_scanned:12239 all_unreclaimable? yes

Sep 14 15:30:49 bas-desktop protections[]: 0 0 0

Sep 14 15:30:49 bas-desktop Normal free:5336kB min:3756kB low:4692kB high:5632kB active:347956kB inactive:346356kB present:901120kB pages_scanned:803830 all_unreclaimable? yes

Sep 14 15:30:49 bas-desktop protections[]: 0 0 0

Sep 14 15:30:49 bas-desktop HighMem free:896kB min:512kB low:640kB high:768kB active:1736364kB inactive:1434264kB present:3178432kB pages_scanned:0 all_unreclaimable? no

Sep 14 15:30:49 bas-desktop protections[]: 0 0 0

Sep 14 15:30:49 bas-desktop DMA: 1*4kB 0*8kB 0*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 68kB

Sep 14 15:30:49 bas-desktop Normal: 376*4kB 13*8kB 5*16kB 2*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 5336kB

Sep 14 15:30:49 bas-desktop HighMem: 26*4kB 35*8kB 6*16kB 1*32kB 0*64kB 1*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 896kB

Sep 14 15:30:49 bas-desktop Swap cache: add 765532, delete 765450, find 140472/159327, race 0+1

Sep 14 15:30:49 bas-desktop Out of Memory: Killed process 5066 (firefox-bin).

Sep 14 15:31:05 bas-desktop oom-killer: gfp_mask=0xd0

Sep 14 15:31:05 bas-desktop DMA per-cpu:

Sep 14 15:31:05 bas-desktop cpu 0 hot: low 2, high 6, batch 1

Sep 14 15:31:05 bas-desktop cpu 0 cold: low 0, high 2, batch 1

Sep 14 15:31:05 bas-desktop cpu 1 hot: low 2, high 6, batch 1

Sep 14 15:31:05 bas-desktop cpu 1 cold: low 0, high 2, batch 1

Sep 14 15:31:05 bas-desktop Normal per-cpu:

Sep 14 15:31:05 bas-desktop cpu 0 hot: low 32, high 96, batch 16

Sep 14 15:31:05 bas-desktop cpu 0 cold: low 0, high 32, batch 16

Sep 14 15:31:05 bas-desktop cpu 1 hot: low 32, high 96, batch 16

Sep 14 15:31:05 bas-desktop cpu 1 cold: low 0, high 32, batch 16

Sep 14 15:31:05 bas-desktop HighMem per-cpu:

Sep 14 15:31:05 bas-desktop cpu 0 hot: low 32, high 96, batch 16

Sep 14 15:31:05 bas-desktop cpu 0 cold: low 0, high 32, batch 16

Sep 14 15:31:05 bas-desktop cpu 1 hot: low 32, high 96, batch 16

Sep 14 15:31:05 bas-desktop cpu 1 cold: low 0, high 32, batch 16

Sep 14 15:31:05 bas-desktop

Sep 14 15:31:05 bas-desktop Free pages:       14244kB (6528kB HighMem)

Sep 14 15:31:05 bas-desktop Active:586009 inactive:381495 dirty:0 writeback:0 unstable:0 free:3561 slab:20825 mapped:959073 pagetables:14879

Sep 14 15:31:05 bas-desktop DMA free:68kB min:68kB low:84kB high:100kB active:5692kB inactive:5184kB present:16384kB pages_scanned:50876 all_unreclaimable? yes

Sep 14 15:31:05 bas-desktop protections[]: 0 0 0

Sep 14 15:31:05 bas-desktop Normal free:7648kB min:3756kB low:4692kB high:5632kB active:581212kB inactive:113236kB present:901120kB pages_scanned:1797172 all_unreclaimable? no

Sep 14 15:31:05 bas-desktop protections[]: 0 0 0

Sep 14 15:31:05 bas-desktop HighMem free:6528kB min:512kB low:640kB high:768kB active:1757004kB inactive:1407560kB present:3178432kB pages_scanned:192 all_unreclaimable? no

Sep 14 15:31:05 bas-desktop protections[]: 0 0 0

Sep 14 15:31:05 bas-desktop DMA: 1*4kB 0*8kB 0*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 68kB

Sep 14 15:31:05 bas-desktop Normal: 838*4kB 61*8kB 10*16kB 2*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 7648kB

Sep 14 15:31:05 bas-desktop HighMem: 1444*4kB 24*8kB 5*16kB 3*32kB 0*64kB 1*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 6528kB

Sep 14 15:31:05 bas-desktop Swap cache: add 765536, delete 765454, find 140482/159337, race 0+1

Sep 14 15:31:05 bas-desktop Out of Memory: Killed process 10293 (firefox-bin).

Sep 14 15:31:55 bas-desktop oom-killer: gfp_mask=0xd0

Sep 14 15:31:55 bas-desktop DMA per-cpu:

Sep 14 15:31:55 bas-desktop cpu 0 hot: low 2, high 6, batch 1

Sep 14 15:31:55 bas-desktop cpu 0 cold: low 0, high 2, batch 1

Sep 14 15:31:55 bas-desktop cpu 1 hot: low 2, high 6, batch 1

Sep 14 15:31:55 bas-desktop cpu 1 cold: low 0, high 2, batch 1

Sep 14 15:31:55 bas-desktop Normal per-cpu:

Sep 14 15:31:55 bas-desktop cpu 0 hot: low 32, high 96, batch 16

Sep 14 15:31:55 bas-desktop cpu 0 cold: low 0, high 32, batch 16

Sep 14 15:31:55 bas-desktop cpu 1 hot: low 32, high 96, batch 16

Sep 14 15:31:55 bas-desktop cpu 1 cold: low 0, high 32, batch 16

Sep 14 15:31:55 bas-desktop HighMem per-cpu:

Sep 14 15:31:55 bas-desktop cpu 0 hot: low 32, high 96, batch 16

Sep 14 15:31:55 bas-desktop cpu 0 cold: low 0, high 32, batch 16

Sep 14 15:31:55 bas-desktop cpu 1 hot: low 32, high 96, batch 16

Sep 14 15:31:55 bas-desktop cpu 1 cold: low 0, high 32, batch 16

Sep 14 15:31:55 bas-desktop

Sep 14 15:31:55 bas-desktop Free pages:       10140kB (2880kB HighMem)

Sep 14 15:31:55 bas-desktop Active:578029 inactive:391238 dirty:0 writeback:0 unstable:0 free:2535 slab:20855 mapped:961774 pagetables:14906

Sep 14 15:31:55 bas-desktop DMA free:68kB min:68kB low:84kB high:100kB active:6280kB inactive:4584kB present:16384kB pages_scanned:11390 all_unreclaimable? yes

Sep 14 15:31:55 bas-desktop protections[]: 0 0 0

Sep 14 15:31:55 bas-desktop Normal free:7192kB min:3756kB low:4692kB high:5632kB active:590252kB inactive:107188kB present:901120kB pages_scanned:442129 all_unreclaimable? no

Sep 14 15:31:55 bas-desktop protections[]: 0 0 0

Sep 14 15:31:55 bas-desktop HighMem free:2880kB min:512kB low:640kB high:768kB active:1715456kB inactive:1453180kB present:3178432kB pages_scanned:0 all_unreclaimable? no

Sep 14 15:31:55 bas-desktop protections[]: 0 0 0

Sep 14 15:31:55 bas-desktop DMA: 1*4kB 0*8kB 0*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 68kB

Sep 14 15:31:55 bas-desktop Normal: 716*4kB 61*8kB 12*16kB 2*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 7192kB

Sep 14 15:31:55 bas-desktop HighMem: 450*4kB 69*8kB 3*16kB 3*32kB 0*64kB 1*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2880kB

Sep 14 15:31:55 bas-desktop Swap cache: add 765538, delete 765471, find 140530/159386, race 0+1

Sep 14 15:31:55 bas-desktop Out of Memory: Killed process 4765 (firefox-bin).
```

```
top - 15:35:52 up 20 days,  7:46, 60 users,  load average: 5.44, 11.87, 7.26

Tasks: 1492 total,   1 running, 1490 sleeping,   0 stopped,   1 zombie

Cpu(s): 13.1% us,  2.1% sy,  0.0% ni, 84.2% id,  0.0% wa,  0.2% hi,  0.5% si

Mem:   4058116k total,  4032900k used,    25216k free,    12712k buffers

Swap:  1959920k total,  1959916k used,        4k free,    70088k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

10491 s30-mana  16   0 85380  32m  16m S 18.1  0.8   0:11.41 firefox-bin

23092 s30-mana  16   0 28916  21m 2240 S  7.4  0.5  18:53.93 nxagent

23103 s30-mana  15   0 13828 7984 1228 S  2.3  0.2   8:35.55 nxagent

10536 root      17   0  2872 1896  820 R  2.3  0.0   0:00.20 top

28360 call1     16   0 25448  14m  10m S  0.3  0.4   0:03.67 klipper

    1 root      16   0  1472  484  420 S  0.0  0.0   0:02.36 init

    2 root      RT   0     0    0    0 S  0.0  0.0   0:00.15 migration/0

    3 root      34  19     0    0    0 S  0.0  0.0   0:00.18 ksoftirqd/0

    4 root      RT   0     0    0    0 S  0.0  0.0   0:00.64 migration/1

    5 root      34  19     0    0    0 S  0.0  0.0   0:00.18 ksoftirqd/1

    6 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 events/0

    7 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 events/1

    8 root       5 -10     0    0    0 S  0.0  0.0   0:00.09 khelper

   21 root      15 -10     0    0    0 S  0.0  0.0   0:00.00 kacpid

  122 root       5 -10     0    0    0 S  0.0  0.0   0:00.48 kblockd/0

  123 root       5 -10     0    0    0 S  0.0  0.0   0:00.07 kblockd/1

  206 root      15   0     0    0    0 S  0.0  0.0   0:06.58 pdflush

  207 root      15   0     0    0    0 S  0.0  0.0   0:18.98 pdflush

  209 root      12 -10     0    0    0 S  0.0  0.0   0:00.00 aio/0

  208 root      15   0     0    0    0 S  0.0  0.0   1:33.99 kswapd0

  210 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 aio/1

  799 root      25   0     0    0    0 S  0.0  0.0   0:00.00 kseriod

  847 root      17   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_0

  851 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 ata/0

  852 root       7 -10     0    0    0 S  0.0  0.0   0:00.00 ata/1

  855 root      17   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_1

  856 root      18   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_2

  857 root      19   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_3

  858 root      20   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_4

  871 root      17   0     0    0    0 S  0.0  0.0   0:00.00 khpsbpkt

  890 root      15   0     0    0    0 S  0.0  0.0   0:00.05 kirqd

  891 root       5 -10     0    0    0 S  0.0  0.0   0:00.24 reiserfs/0

  892 root       5 -10     0    0    0 S  0.0  0.0   0:00.09 reiserfs/1

  964 root      18  -4  1468  448  368 S  0.0  0.0   0:00.27 udevd

 5627 root      18   0     0    0    0 S  0.0  0.0   0:00.00 khubd

 7171 root      15   0  1792  780  516 S  0.0  0.0   0:01.50 syslog-ng

 7915 rpc       16   0  1704  652  540 S  0.0  0.0   0:00.11 portmap

 8165 root      16   0  7752 4132  824 S  0.0  0.1   0:39.04 cupsd
```

At one point the load average spiked to 37.

```
uname -a
```

 *Quote:*   

> 
> 
> Linux bas-desktop 2.6.10-hardened-r3 #4 SMP Tue Mar 8 17:48:32 EST 2005 i686 AMD Opteron(tm) Processor 242 AuthenticAMD GNU/Linux
> 
> 

 

Oh yes and there are maybe 10 to 15 users on it using freenx to log in.  Pretty much all they run is firefox and maybe konqueror, etc.

----------

## adaptr

That top output isn't very helpful (learn to use CODE!) but I strongly urge you to investigate which processes take up almost 4GB of RAM...

Do you even have high memory enabled ?

EDIT: erm.. almost 1500 processes ?

That should be enough for 100 clients.

Freenx is probably not killing off the old ones.

----------

## eryvile

You've got 1492 tasks  :Exclamation:  As only one is runing and your processor idles at 84% you're system should behave just fine. Your problem's probably caused by the fact that all your memory is used up! What does the output of top say when you press [Shift][m] (sorts the task according to their memory footprint)? But I guess, that just the sheer amount of 1492 tasks takes up all that memory and no real "bad guy" can be identified  :Sad: 

Also, you have one zombie task running. Can you identify that one?

----------

## jthompson

Hmmm... I tried to protect against freenx not killing off old ones.  I wrote a simple cron job that runs every night that does

/usr/bin/nxserver --restart

It also terminates all user sessions individually just in case that doesn't do it.

/usr/bin/nxserver --terminate <username>

What is this CODE utility that you speak of?  I've never heard of it, unfortunately.

Also how can I identify the zombie process?

Should I start killing off some of these processes? I don't know where to start, heh.

Here is the output of Shift+m on top

```

top - 16:21:23 up 20 days,  8:31, 60 users,  load average: 3.46, 1.69, 1.68

Tasks: 1492 total,   1 running, 1489 sleeping,   0 stopped,   2 zombie

Cpu(s):  2.4% us,  0.8% sy,  0.0% ni, 95.9% id,  0.3% wa,  0.3% hi,  0.2% si

Mem:   4058116k total,  4014852k used,    43264k free,    11668k buffers

Swap:  1959920k total,  1959920k used,        0k free,    57980k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

  668 calla-6   15   0  245m  99m  13m S  0.0  2.5  11:57.71 firefox-bin

15355 call1     15   0  136m  99m  12m S  0.0  2.5   0:38.77 konqueror

 9465 call1     16   0  168m  97m  12m S  0.0  2.5   3:11.02 konqueror

15265 call1     16   0  144m  95m 1928 S  0.0  2.4   0:32.28 nxagent

12907 call1     15   0  155m  85m  12m S  0.0  2.2   0:08.99 konqueror

25609 call1     16   0  137m  81m  12m S  0.0  2.1   0:55.66 konqueror

23438 call1     15   0  143m  66m 1928 S  0.0  1.7   6:05.17 nxagent

28126 calla-6   15   0  125m  66m 1968 S  0.0  1.7   4:33.77 nxagent

 4074 call1     16   0  136m  66m 1928 S  0.0  1.7  11:09.52 nxagent

25835 calla-3   16   0 67472  57m 1948 S  0.0  1.4   0:42.32 nxagent

15564 calla-1   15   0  149m  52m  13m S  0.0  1.3   3:10.66 firefox-bin

12986 calla-6   15   0  117m  50m  13m S  0.0  1.3   1:26.62 firefox-bin

10623 calla-1   15   0  120m  50m  13m S  0.0  1.3   2:30.06 firefox-bin

17274 calla-1   16   0 51156  43m 1948 S  0.0  1.1   1:55.80 nxagent

11086 calla-2   15   0  101m  42m  17m S  0.0  1.1   0:12.79 firefox-bin

17910 calla-1   15   0  104m  40m  13m S  0.0  1.0   2:25.00 firefox-bin

10806 calla-1   15   0  105m  40m  13m S  0.0  1.0   1:11.95 firefox-bin

19678 calla-1   16   0 48048  40m 1948 S  0.0  1.0   1:19.52 nxagent

20031 calla-1   16   0  132m  39m  13m S  0.0  1.0   9:05.40 firefox-bin

 6172 calla-1   16   0 53804  36m 1948 S  0.0  0.9  12:16.08 nxagent

14128 call1     16   0  128m  35m 1928 S  0.0  0.9   4:16.36 nxagent

  715 calla-1   16   0 99528  34m  12m S  0.0  0.9   5:51.81 firefox-bin

 7330 calla-2   16   0 45524  34m 1948 S  0.0  0.9   9:10.23 nxagent

25942 calla-3   16   0 99988  34m  13m S  0.0  0.9   1:01.11 firefox-bin

19780 calla-1   15   0 98.4m  33m  12m S  0.0  0.8   2:05.96 firefox-bin

10669 calla-5   15   0 93236  33m  16m S  1.3  0.8   0:28.38 firefox-bin

 6418 calla-1   15   0 94688  30m  12m S  0.0  0.8   1:13.42 firefox-bin

25080 calla-2   16   0 37984  30m 1948 S  0.0  0.8   4:09.19 nxagent

  393 calla-6   17   0 89836  30m  12m S  0.0  0.8   0:31.89 firefox-bin

23679 calla-1   16   0 39976  30m 1948 S  0.0  0.8  10:00.05 nxagent

21450 call1     16   0 48736  30m  12m S  0.0  0.8   0:59.39 konqueror

28578 calla-5   16   0 34384  27m 2024 S  0.7  0.7   3:33.95 nxagent

30683 calla-6   17   0 96120  27m  12m S  0.0  0.7   6:46.03 firefox-bin

10699 calla-1   16   0 42352  27m 1948 S  0.0  0.7   0:39.12 nxagent

31195 calla-5   16   0 34448  27m 1948 S  0.0  0.7   1:39.90 nxagent

10727 calla-4   15   0 87300  26m  15m S  1.0  0.7   0:06.11 firefox-bin

13175 calla-1   15   0 92572  26m  12m S  0.0  0.7   0:06.83 firefox-bin

29735 calla-2   15   0 32784  26m 2024 S  0.0  0.7   3:37.49 nxagent
```

----------

## jthompson

High memory support is enabled also.

```
#

# Processor type and features

#

CONFIG_X86_PC=y

# CONFIG_X86_ELAN is not set

# CONFIG_X86_VOYAGER is not set

# CONFIG_X86_NUMAQ is not set

# CONFIG_X86_SUMMIT is not set

# CONFIG_X86_BIGSMP is not set

# CONFIG_X86_VISWS is not set

# CONFIG_X86_GENERICARCH is not set

# CONFIG_X86_ES7000 is not set

# CONFIG_M386 is not set

# CONFIG_M486 is not set

# CONFIG_M586 is not set

# CONFIG_M586TSC is not set

# CONFIG_M586MMX is not set

# CONFIG_M686 is not set

# CONFIG_MPENTIUMII is not set

# CONFIG_MPENTIUMIII is not set

# CONFIG_MPENTIUMM is not set

# CONFIG_MPENTIUM4 is not set

# CONFIG_MK6 is not set

# CONFIG_MK7 is not set

CONFIG_MK8=y

# CONFIG_MCRUSOE is not set

# CONFIG_MEFFICEON is not set

# CONFIG_MWINCHIPC6 is not set

# CONFIG_MWINCHIP2 is not set

# CONFIG_MWINCHIP3D is not set

# CONFIG_MCYRIXIII is not set

# CONFIG_MVIAC3_2 is not set

CONFIG_X86_HZ=1000

# CONFIG_X86_GENERIC is not set

CONFIG_X86_CMPXCHG=y

CONFIG_X86_XADD=y

CONFIG_X86_L1_CACHE_SHIFT=6

CONFIG_RWSEM_XCHGADD_ALGORITHM=y

CONFIG_X86_WP_WORKS_OK=y

CONFIG_X86_INVLPG=y

CONFIG_X86_BSWAP=y

CONFIG_X86_POPAD_OK=y

CONFIG_X86_ALIGNMENT_16=y

CONFIG_X86_GOOD_APIC=y

CONFIG_X86_INTEL_USERCOPY=y

CONFIG_X86_USE_PPRO_CHECKSUM=y

# CONFIG_HPET_TIMER is not set

CONFIG_SMP=y

CONFIG_NR_CPUS=8

CONFIG_SCHED_SMT=y

CONFIG_PREEMPT=y

CONFIG_X86_LOCAL_APIC=y

CONFIG_X86_IO_APIC=y

CONFIG_X86_TSC=y

CONFIG_X86_MCE=y

CONFIG_X86_MCE_NONFATAL=y

CONFIG_X86_MCE_P4THERMAL=y

# CONFIG_TOSHIBA is not set

# CONFIG_I8K is not set

# CONFIG_MICROCODE is not set

# CONFIG_X86_MSR is not set

# CONFIG_X86_CPUID is not set
```

----------

## adaptr

A single nxagent client takes 95MB ?

sjeez...

You are running a 4GB multi-client NX server and.. don't know were to start ?

No wonder.

When I say use CODE, that's what I mean: learn to use

```
CODE!
```

since that's what it's for.

I strongly advise you (again, eh) to reboot this box and run it under controlled conditions - with a single (ONE) client and see what happens.

The fact that you have 10 to 15 firefox or konqueror binaries running should not impact memory usage in the least, since 90% of that should be shared code.

If it's not... then you have a serious problem, or you compiled everything statically.

You can't kill a defunct (zombie) process - that's why it's a zombie.

----------

## jthompson

Ok so I'm a little slow today... I changed everything to code.

When I started this a few months back, I did just use one user, myself.  I slowly put more people on it.  Its been up for 20 days, restarting the nxserver and terminating nx sessions every night.  It actually has worked well for a few months.

When you say compiled statically... I'm not sure I understand.

Here is the /etc/make.conf

```
# These settings were set by the catalyst build script that automatically built this stage

# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O3 -march=athlon-mp -pipe -fomit-frame-pointer -m3dnow -mmmx -msse -msse2"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j5"

USE="alsa 3dnow mmx sse sse2 acpi cdr cups dvd java foomaticdb ppds kerberos ldap slp usb odbc samba nptl perl -ipv6 -gnome gtk kde qt"

GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo http://mirrors.tds.net/gentoo http://mirror.datapipe.net/gentoo"

FEATURES="ccache prelink distcc"

PORTAGE_NICENESS="16"

CCACHE_DIR="/tmp/.ccache"

CCACHE_SIZE="1G"

```

I tried to keep it pretty simple.

The reboot obviously came to mind, I was just wondering why it may have happened or how I could track it down.

----------

## adaptr

It's generally not a good idea to include processor-specific instruction sets like mmx and sse in your CFLAGS.

Set them in your USE flag; they will be used when applicable, anyway - this is determined by your -march setting.

As to the RAM usage: you need to start running ps with the right options and then sort the output per process and user...

I can see 4 konqueror, 3 firefox and 2 nxagent processes running for just ONE user.

All of these processes have overhead and use local memory.

I have no idea how freenx works, but for a simple X session 50~100 MB per user should be all you need.

Right now, you are using in excess of (4GB+2GB swap) / 15 = 400 MB per user, which is insane.

----------

## jthompson

Thanks for the tips...

So something like

```
ps -U <username>?
```

I wonder if its a good idea to do the following every night to kill off any extra processes?

```

/etc/init.d/xdm restart 
```

Why would multiple firefox processes be open for one user?  User error I assume?

I must admit they all aren't Linux guru's or even mouse literate.

----------

## adaptr

Forget firefox!

Four instances of konqueror and anything more than one instance of the freenx agent is what you need to be investigating.

Start by doing a

```
ps axu | grep <user> | sort <sort-on-the-rss-size>
```

or something - you'll have to man sort to get the right column.

I assume you have alread thoroughly Googled on any fscked up errors with that freenx thing ?

If not - do that first.

----------

## jthompson

Well indeed there are multiple processes running for one user.  Why I have no idea.  The amazing thing is no one complained yesterday when it was running out of memory, the power of Gentoo Linux I suppose.

```

ps -U s30-manager | grep nxagent

12153 ?        00:01:30 nxagent

12167 ?        00:00:33 nxagent

```

```
ps axu | grep s30-manager
```

```
nx       12058  0.0  0.0   4468  1948 ?        S    09:07   0:00 ssh -l s30-manager 127.0.0.1 -p 22 -x -2 -i /usr/NX/etc/users.id_dsa -o PubkeyAuthentication yes -o RSAAuthentication yes -o RhostsAuthentication no -o PasswordAuthentication no -o RhostsRSAAuthentication no -o StrictHostKeyChecking no /usr/NX/bin/nxnode --startsession

root     12061  0.0  0.0   7464  2224 ?        Ss   09:07   0:00 sshd: s30-manager [priv]

1005     12066  0.0  0.0   7464  2304 ?        S    09:07   0:00 sshd: s30-manager@notty

1005     12151  0.0  0.0   1740   548 ?        S    09:07   0:00 tail -n1 -f /home/s30-manager/.nx/C-bas-desktop-1175-64B9CBAC31F5A2E9DEFE603F0237BDC4/session

1005     12153  1.3  0.4  25776 20284 ?        S    09:07   1:33 /usr/NX/bin/nxagent -persistent -name NX - s30-manager@bas-desktop:1175 - bas-desktop (GPL Edition) -option /home/s30-manager/.nx/C-bas-desktop-1175-64B9CBAC31F5A2E9DEFE603F0237BDC4/options -kbtype pc102/ -geometry 1024x768 -bs when_requested :1175

1005     12167  0.5  0.2  13764  8632 ?        S    09:07   0:35 /usr/NX/bin/nxagent -persistent -name NX - s30-manager@bas-desktop:1175 - bas-desktop (GPL Edition) -option /home/s30-manager/.nx/C-bas-desktop-1175-64B9CBAC31F5A2E9DEFE603F0237BDC4/options -kbtype pc102/ -geometry 1024x768 -bs when_requested :1175

1005     12240  0.0  0.3  24320 12444 ?        S    09:08   0:00 kio_file [kdeinit] kio_file file /tmp/ksocket-s30-manager/klauncherMrPEGa.slave-socket /tmp/ksocket-s30-manager/kdesktopO1UBAb.slave-socket

root     19010  0.0  0.0   1528   536 pts/5    S+   11:06   0:00 grep s30-manager
```

I wasn't sure what to sort by (rss size?), I'm a bit of a noob I guess when it comes to what all I can do with ps.

So I guess the questions is, why is freenx or just X maybe spawning multiple processes for one user and not killing them off when users log off.  They don't die when I restart the X server either, as I tried that last night.

```
/etc/init.d/xdm restart
```

I did reboot yesterday though and the number of processes was around 80 or so.

10 users log on this monring and its now at around 400.

```

top - 11:08:57 up 12:12, 11 users,  load average: 0.56, 0.78, 0.59

Tasks: 419 total,   1 running, 417 sleeping,   0 stopped,   1 zombie

Cpu(s):  1.8% us,  0.2% sy,  0.0% ni, 97.9% id,  0.1% wa,  0.0% hi,  0.0% si

Mem:   4058116k total,  1367436k used,  2690680k free,   114280k buffers

Swap:  1959920k total,        0k used,  1959920k free,   295148k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

12167 s30-mana  16   0 13764 8632 1864 S  3.8  0.2   0:38.63 nxagent

19077 root      16   0  2332 1196  740 R  3.8  0.0   0:00.03 top

13744 calla-3   16   0 55468  49m 2880 S  1.9  1.2   2:13.36 nxagent

16513 call2     15   0  331m  44m  11m S  1.9  1.1   0:31.31 java

    1 root      16   0  1472  504  440 S  0.0  0.0   0:00.27 init

    2 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0

    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0

    4 root      RT   0     0    0    0 S  0.0  0.0   0:00.02 migration/1

    5 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1

    6 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 events/0

    7 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 events/1

    8 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 khelper

   21 root      15 -10     0    0    0 S  0.0  0.0   0:00.00 kacpid

  122 root       5 -10     0    0    0 S  0.0  0.0   0:00.01 kblockd/0

  123 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kblockd/1

  206 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pdflush

  207 root      15   0     0    0    0 S  0.0  0.0   0:00.27 pdflush

  209 root      12 -10     0    0    0 S  0.0  0.0   0:00.00 aio/0

  208 root      25   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0

  210 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 aio/1

  799 root      25   0     0    0    0 S  0.0  0.0   0:00.00 kseriod

  847 root      17   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_0

  851 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 ata/0

  852 root       7 -10     0    0    0 S  0.0  0.0   0:00.00 ata/1

  855 root      17   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_1

  856 root      18   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_2

  857 root      19   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_3

  858 root      20   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_4

  871 root      17   0     0    0    0 S  0.0  0.0   0:00.00 khpsbpkt

  890 root      15   0     0    0    0 S  0.0  0.0   0:00.00 kirqd

  891 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 reiserfs/0

  892 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 reiserfs/1

  977 root      13  -4  1468  476  396 S  0.0  0.0   0:00.26 udevd

 5565 root      18   0     0    0    0 S  0.0  0.0   0:00.00 khubd

 7130 root      15   0  1716  720  556 S  0.0  0.0   0:00.03 syslog-ng

 7872 rpc       16   0  1704  640  528 S  0.0  0.0   0:00.00 portmap

 8100 root      16   0  7316 4280 1460 S  0.0  0.1   0:00.51 cupsd

 8124 nobody    18   0  1632  736  648 S  0.0  0.0   0:00.00 rpc.statd

```

I guess I have some more reading to do about freenx. 

I wonder do I need to start up /etc/init.d/xdm with freenx?

I'm using freenx 0.4.0.

/etc/nxserver/node.conf

```

# node.conf

#

# This file is provided by FreeNX. It should be placed either into

# /etc/nxserver/node.conf (FreeNX style) or /usr/NX/etc/node.conf

# (NoMachine NX style).

#

# It is mostly compatible with NoMachine node.conf. The most important

# difference is that no spaces are allowed when assigning values (eg

# "A=value" is allowed, "A = value" is NOT).

#

# This file is sourced by bash, so you can do some fancy stuff here if you

# want to, but be aware that it is sourced 3 times per connection. If you

# want autostart stuff, set NODE_AUTOSTART instead!

#

#

# You surely are aware that FreeNX is based on the fantastic results that

# the hard work by NoMachine.com has achieved. NoMachine.com released the

# core NX libraries under the GPL. The installation of these libs are the

# precondition for all FreeNX scripts to work. If you are installing this

# software with the help of one of the package management tools of your

# Linux distribution, you can assume that this dependency is taken care of

# by the tool.

#

# You have questions about the inner workings of the NX technology?

#

# Then you are recommended to first check out the rich and very detailed

# NoMachine documentation and their online Knowledge Base at

#

#           http://www.nomachine.com/kb/

#

# Other sources of information are the NoMachine mailing lists

# (nxusers@nomachine.com and nxdevelopers@nomachine.com):

#

#           http://www.nomachine.com/mailinglists.php

#

# The FreeNX (freenx-knx@kde.org) list is here:

#

#           https://mail.kde.org/mailman/listinfo/freenx-knx

#

# CVS: $Id: node.conf.sample,v 1.27 2005/04/30 16:52:22 fabianx Exp $

#########################################################################

# General FreeNX directives

#########################################################################

# The host name which is used by NX server. It's should be used if it's

# different than the default hostname (as returned by `hostname`)

SERVER_NAME="$(hostname)"

# The port number where local 'sshd' is listening.

SSHD_PORT=22

#########################################################################

# Authentication / Security directives

#########################################################################

# Authentication directives

# This adds the passdb to the possible authentication methods

ENABLE_PASSDB_AUTHENTICATION="1"

# This adds SSH to the possible authentication methods. For it to work sshd

# must be set up at localhost accepting password authentication.

ENABLE_SSH_AUTHENTICATION="1"

# This adds SU to the possible authentication methods. For it to work the

# "nx" user must be in the wheel (RedHat, Fedora) or the users group (SUSE)

# and the user logging in must have a valid shell that accepts the -c

# parameter.

ENABLE_SU_AUTHENTICATION="0"

# Require all users to be in the passdb, regardless of authentication method

ENABLE_USER_DB="1"

# If enabled forces the user to use encryption. This will bail out

# if the user does not have encryption enabled.

ENABLE_FORCE_ENCRYPTION="0"

# Refuse the NX client connection if SSHD does not export the

# SSH_CONNECTION and SSH_CLIENT variables in the environment

# passed to the NX server.

# 1: Will check the remote IP and will not accept the

#    connection if it can't be determined.

# 0: Will accept the connection even if the remote IP

#    is not provided.

SSHD_CHECK_IP="0"

#########################################################################

# Restriction directives

#########################################################################

# The base display number from which sessions are started.

DISPLAY_BASE=1000

# The maximum number of contemporary sessions that can be run on FreeNX

SESSION_LIMIT=200

# The maximum number of contemporary sessions that a single user can run

# on FreeNX. Defaults to the value of SESSION_LIMIT.

SESSION_USER_LIMIT=1

# The number of displays reserved for sessions, it has to be greater or equal

# to the maximum number of contemporary sessions that a server can run.

DISPLAY_LIMIT=200

# User for which sessions should be persistent. Either the keyword "all" or a

# comma-separated list of usernames or groups in the @groupname syntax.

ENABLE_PERSISTENT_SESSION="all"

# Users and groups for whom persistent sessions should be disabled.

# Especially useful if ENABLE_PERSISTENT_SESSION="all"

DISABLE_PERSISTENT_SESSION=""

#########################################################################

# Logging directives

#########################################################################

# This directives controls the verbosity of the server-wide log.

# 0: No Logging

# 1: Errors

# 2: Warnings

# 3: Important information

# 4: Server - Client communication

# 5: Information

# 6: Debugging information

# 7: stderror of some applications

NX_LOG_LEVEL=1

# Before turning logging on, please make sure that NX_LOGFILE is

# writeable for the "nx" user

NX_LOGFILE=/var/log/nxserver.log

# This directive controls if the temporary session directory

# ($HOME/.nx/C-<hostname>-<display>-<session_id>) should be kept after a

# session has ended. A successfully terminated session will be saved as

# T-C-<hostname>-<display>-<session_id> while a failed session will be saved

# as F-C-<hostname>-<display>-<session_id>.

SESSION_LOG_CLEAN=1

# Amount of seconds nxserver is to keep session history. The default of 2592000

# is equivalent to 30 days. If this is 0 no session history will be kept

# and a negative value denotes infinity.

SESSION_HISTORY=2592000

#########################################################################

# Forwarding directives

#########################################################################

# FreeNX with ENABLE_SERVER_FORWARD="1" will automatically forward all

# connections to the host specified in SERVER_FORWARD_HOST with the

# secret key SERVER_FORWARD_KEY.

#

# This allows to have a "chain" of NX Servers. Note that you will need to

# use "SSL encryption" for all connections.

ENABLE_SERVER_FORWARD="0"

SERVER_FORWARD_HOST=""

SERVER_FORWARD_PORT=22

SERVER_FORWARD_KEY="/usr/NX/share/client.id_dsa.key"

# FreeNX with ENABLE_NOMACHINE_FORWARD_USER="1" will automatically forward all

# connections to the commercial NoMachine nxserver installed on the same

# machine. This feature is introduced to enable the usage of FreeNX and

# NoMachine NX side by side on the same machine without conflicts.

#

# To make a connection to the FreeNX server, just use 'freenx.<user>' as

# username (where <username> is the existing Unix username. (You do not

# need to create a user named 'freenx.<user>'!)

#

# To make a connection to the NoMachine nxserver, use the unmodified

# '<user>' username.

ENABLE_NOMACHINE_FORWARD_USER="0"

NOMACHINE_SERVER="/usr/NX/bin/nxserver"

NOMACHINE_NX_HOME_DIR="/usr/NX/home/nx"

# To just forward connections to the NoMachine server, which connect to a

# certain port enable the following two directives.

#

# Note: You need to let SSHD listen to several ports to make use of this

#       directive.

ENABLE_NOMACHINE_FORWARD_PORT="0"

NOMACHINE_FORWARD_PORT="22"

#########################################################################

# Services directives

#########################################################################

# FreeNX with ENABLE_ESD_PRELOAD="1" will automatically try to setup

# the sound with the help of the esd media helper.

#

# Currently ESD will be used just by the Windows NX Client.

#

# Be sure that $ESD_BIN_PRELOAD is in your path, does exist and work

# before enabling this directive.

ENABLE_ESD_PRELOAD="0"

ESD_BIN_PRELOAD="esddsp"

# FreeNX with ENABLE_ARTSD_PRELOAD="1" will automatically try to setup

# the sound with the help of the artsd media helper.

#

# Currently ARTSD will be used just by the Linux NX Client.

#

# Be sure that $ARTSD_BIN_PRELOAD is in your path, does exist and work

# before enabling this directive.

ENABLE_ARTSD_PRELOAD="0"

ARTSD_BIN_PRELOAD="artsdsp"

# FreeNX with ENABLE_KDE_CUPS="1" will automatically write

# $KDE_PRINTRC and put the current used port into it.

# $KDE_PRINTRC is automatically calculated if its not set.

ENABLE_KDE_CUPS="0"

KDE_PRINTRC="$KDEHOME/share/config/kdeprintrc"

CUPS_ETC="/etc/cups"

#########################################################################

# Path directives

#########################################################################

# USER_FAKE_HOME is the base directory for the .nx directory. Use this

# parameter instead of the users home directory if $HOME is on a NFS share.

# Note that this directory must be unique for every user! To accomplish this

# it is recommended to include $USER in the path.

#USER_FAKE_HOME=$HOME

# Add the nx libraries to LD_LIBRARY_PATH before starting nx agents.

# WARNING: This will NOT (and should not) affect applications. ONLY Disable

# this if the nx libraries are in a standard system path (such as /usr/lib)!

SET_LD_LIBRARY_PATH="1"

# The command binary for the default window manager. It is run when a

# 'unix-custom' session is requested by the NX Client and an application

# to run is specified. By default it is set to "twm". If you don't have

# twm in the default path or if you want to use another window manager,

# you have to set it to the absolute file name of the command binary you

# want to use.

# FreeNX: To enable this feature set ENABLE_DEFAULT_X_WM="1"

#         If ENABLE_DEFAULT_X_WM_KILL is set the WM is terminated

#         after the started application finishes. Else FreeNX will

#         wait for the window manager to complete.

ENABLE_DEFAULT_X_WM="0"

ENABLE_DEFAULT_X_WM_KILL="0"

DEFAULT_X_WM=twm

# When a 'unix-default' session is requested by the client the user's X startup

# script will be run if pressent and executable, otherwise the default X

# session will be run.

# Depending on distribution USER_X_STARTUP_SCRIPT might be .Xclients, .xinitrc

# and .Xsession

# Depending on distribution DEFAULT_X_SESSION might be /etc/X11/xdm/Xsession,

# /etc/X11/Sessions/Xsession or /etc/X11/xinit/xinitrc

USER_X_STARTUP_SCRIPT=.Xclients

DEFAULT_X_SESSION=/etc/X11/xdm/Xsession

# The key that contains the name of the script that starts a KDE session.

# It's run when a 'unix-kde' session is requested by the client.

COMMAND_START_KDE=startkde

# The key that contains the name of the script that starts a gnome session.

# It's run when a 'unix-gnome' session is requested by the client.

#COMMAND_START_GNOME=gnome-session

# The key that contains the name of the script that starts a CDE session.

# It's run when a 'unix-cde' session is requested by the client.

#COMMAND_START_CDE=cdwm

# The key that contains the name of the complete path of command name

# 'xterm'. It is run when a unix "xterm" session is requested by the

# client.

COMMAND_XTERM=xterm

# The key that contains the name of the complete path of command name

# 'xauth'.

COMMAND_XAUTH=/usr/X11R6/bin/xauth

# The key that contains the name of the complete path of command name

# 'smbmount'.

#COMMAND_SMBMOUNT=smbmount

# The key that contains the name of the complete path of command name

# 'smbumount'.

#COMMAND_SMBUMOUNT=smbumount

# The key that contains the name of the complete path of the 'netcat' command.

COMMAND_NETCAT=netcat

# The key that contains the name of the complete path of the 'ssh' and

# 'ssh-keygen' command.

COMMAND_SSH=ssh

COMMAND_SSH_KEYGEN=ssh-keygen

# The key that contains the name of the complete path of the 'cupsd' command.

#COMMAND_CUPSD=/usr/sbin/cupsd

#########################################################################

# Misc directives

#########################################################################

# When set to 1 this will automatically resume started sessions

ENABLE_AUTORECONNECT="1"

# When set to 1 this will automatically resume started sessions

# but only if an older client version is used

ENABLE_AUTORECONNECT_BEFORE_140="0"

# When set to 1 exports NXUSERIP / NXSESSIONID in nxnode

EXPORT_USERIP="0"

EXPORT_SESSIONID="0"

# This can be set to any executable, which is started after session startup

# like: $NODE_AUTOSTART {start|restore}

#NODE_AUTOSTART=""

# When set to 1 will start nxagent in rootless mode.

ENABLE_ROOTLESS_MODE="0"

# If enabled writes entries via the COMMAND_SESSREG program

# into utmp/wtmp/lastlog database.

# Note: You have to make sure that you add the nx user to the

#       utmp or tty group or how its called on your system

#       before this directive works.

ENABLE_USESSION="0"

COMMAND_SESSREG="sessreg"

# Extra options sent to the different nx agents. See !M documentation

# for examples of useful parameters.

#AGENT_EXTRA_OPTIONS_RFB=""

#AGENT_EXTRA_OPTIONS_RDP=""

#AGENT_EXTRA_OPTIONS_X=""

# The font server the agent will use. If set to "" no font server is used.

# For this to do any good, the client has to have the same font server set

# in /etc/X11/XF86Config

#AGENT_FONT_SERVER=""

# Disable or enable use of 'tcp nodelay' on proxy. Old versions of Linux

# kernels have problems using this option on sockets that will cause a loss

# of TCP connections. This option is not set by default to allow clients to

# specify whether to enable or disable TCP nodelay. Setting this option to

# the value of "0" NX proxy avoids using 'tcp nodelay' but it will cause a

# loss of interaction in sessions.

PROXY_TCP_NODELAY="0"

# Extra options to nxproxy. See !M documentation for useful parameters.

#PROXY_EXTRA_OPTIONS="
```

"

Any advice is much appreciated.  Rebooting every night seems kind of silly to solve this problem.

----------

## jthompson

I watched one user as he just logged on.

```
top -u s29-2

top - 14:17:36 up 15:21, 12 users,  load average: 0.18, 0.30, 0.26

Tasks: 440 total,   4 running, 436 sleeping,   0 stopped,   0 zombie

Cpu(s):  8.3% us,  2.2% sy,  0.0% ni, 89.6% id,  0.0% wa,  0.0% hi,  0.0% si

Mem:   4058116k total,  1539252k used,  2518864k free,   131516k buffers

Swap:  1959920k total,        0k used,  1959920k free,   404188k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

24544 s29-2     16   0  7464 2304 1868 S  0.0  0.1   0:00.00 sshd

24545 s29-2     24   0  2568 1176  896 S  0.0  0.0   0:00.02 nxnode

24627 s29-2     24   0  2568 1196  900 S  0.0  0.0   0:00.00 nxnode

24628 s29-2     16   0  1740  548  456 S  0.0  0.0   0:00.00 tail

24629 s29-2     17   0  2568 1204  904 S  0.0  0.0   0:00.05 nxnode

24631 s29-2     25   0  2568 1196  900 S  0.0  0.0   0:00.00 nxnode

24635 s29-2     16   0 14788 9596 2852 S  0.0  0.2   0:03.56 nxagent

24637 s29-2     25   0  2568 1212  912 S  0.0  0.0   0:00.00 nxnode

24647 s29-2     16   0  2560 1060  916 S  0.0  0.0   0:00.00 startkde

24651 s29-2     16   0 11708 6472 1864 S  0.0  0.2   0:01.48 nxagent

24685 s29-2     16   0 23460  11m 9556 S  0.0  0.3   0:00.20 kdeinit

24688 s29-2     16   0 12844 4964 4364 S  0.0  0.1   0:00.01 dcopserver

24690 s29-2     16   0 22980  10m 9828 S  0.0  0.3   0:00.02 klauncher

24693 s29-2     16   0 25416  15m  11m S  0.0  0.4   0:00.35 kded

24702 s29-2    -51   0 11484 7128 4796 S  0.0  0.2   0:00.45 artsd

24704 s29-2     15   0 31784  16m  13m S  0.0  0.4   0:00.07 knotify

24705 s29-2     16   0  1448  324  260 S  0.0  0.0   0:00.00 kwrapper

24707 s29-2     16   0 20016  10m 8768 S  0.0  0.3   0:00.27 ksmserver

24708 s29-2     15   0 22476  13m   9m S  0.0  0.4   0:00.45 kwin

24711 s29-2     16   0 24024  13m  10m S  0.0  0.3   0:00.23 khotkeys

24712 s29-2     16   0 27200  17m  13m S  0.0  0.4   0:00.42 kdesktop

24714 s29-2     16   0 24316  12m 9.8m S  0.0  0.3   0:00.00 kio_file

24715 s29-2     15   0 28312  17m  13m S  0.0  0.4   0:00.56 kicker

24719 s29-2     16   0 29280  17m  13m S  0.0  0.5   0:00.39 korgac

```

Why does it spawn like 4 nxnode processes for one user?

----------

