Daniel Iliev <[EMAIL PROTECTED]> posted [EMAIL PROTECTED],
excerpted below, on  Thu, 28 Sep 2006 09:30:54 +0300:

> Petter Haggholm wrote:
>> The subject is fairly descriptive. Often -- but not always -- an
>> emerge will render my system unusable. At a PORTAGE_NICENESS of 3, and
>> fairly standard MAKEOPTS of "-j2" (on a single-core system), I'm ...
>> well, rather surprised, confused, and very frustrated. [] The system
>> becomes unresponsive, the mouse will move but with enough of a lag that
>> physically moving it may not cause a cursor movement for the next 30
>> seconds or so, clicking a taskbar window may not have an effect at all;
>> sometimes I can't even ssh into the system from my other computer (to
>> kill the emerge) because it's slow enough that the ssh daemon times out
>> my login attempt. This never used to happen[.]
>>
> 2) What happens if you put PORTAGE_NICENESS=19, MAKEOPTS of "-j2 -l1" ?
> l5 (small "L", not the number "one"), means "loadavg=<1" If loadavg goes
> up to 1 make waits this level to drop before continuing its job
> 3) Is DMA enabled for your HDD(s)? (hdparm -d1 /dev/xxx)?

I second those two suggestions.

It never used to happen?  I'll just /bet/ you somehow disabled hard drive
DMA access.  In addition to checking hdparm, ensure that you have the
correct drivers for your hard drive chipset being compiled with the kernel
and verify from your log (or dmesg) that they are loaded and active -- the
kernel isn't loading generic drivers that grab the hardware first so the
chipset specific drivers can't grab the hardware themselves.

It's almost certainly I/O access in any case, so portage niceness probably
won't do a lot of good, tho reducing to -j1 or -j2 -l1 or -j1 -l1 might
help some.  You can also try different I/O and task schedulers, and tweak
your kernel preemption settings.

How much RAM do you have?  If > 3.5 GB, you may have IOMMU issues as well.
I can describe that in more detail but won't bother here since I don't yet
know that you'd be affected yet, which you won't be if you have less than
3.5 GB RAM.  

Another thing you can do if you have a lot of RAM (I'd suggest >=4 gig) is
make /tmp or /var/tmp (whatever you have $PORTAGE_TMPDIR set to) a tmpfs,
so all those temporary files that gcc and emerge create during the emerge
process stay in RAM.  I have 8 gigs of RAM and do this.  It makes a pretty
big difference in both emerge time and system responsiveness while I'm
merging, since there's so much less disk activity.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

-- 
[email protected] mailing list

Reply via email to