Red Hat Bugzilla – Bug 123004
prelink slows down my machine too much
Last modified: 2007-11-30 17:10:42 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040506
Description of problem:
I've made a fresh install of FC2 T3 and I installed
all the updates available on May 10.
After roughly 45 minutes or 1 hour, I always find
my machine CPU running almost at full speed, with
a very significant percentage of the CPU eaten by
a prelink process or one of its ld-linux.so.2
After 1 hour (when I'm patient), I usually kill this
process to get back my usual performance, but the
same issue happens again after rebooting.
Even if I may not be patient enough and should let
prelink run for hours before its job is done, this looks like
an unpleasant bug that won't make a good impression on users,
which is the opposite of the effect that prelink should show.
It may be useful to disable prelink by default.
Are other people experiencing this too? If you do, please
share your experience too by posting a comment in this
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Boot your computer
2. Wait for roughly 45 to 60 minutes.
3. See how much CPU a prelink or ld-linux.so.2 process takes.
Prelink should take long time (what kind of hardware do you have btw)
only once after big upgrades, then it shouldn't last too long.
On my slowest box, PIII/650MHz, full prelink (after prelink -ua)
takes ~ 40 minutes and then about 1 minute (the latter is mainly
fault of libGL, see #122722, otherwise it could be like 20-30 seconds).
If you say you are seeing this repeatedly, something is weird.
Can you attach /var/log/prelink.log to see if something unusual
is going on?
Thank you very much for your help!
Here's what my CPU is:
Intel(R) Pentium(R) 4 CPU 2.40GHz
Here's my last log before killing prelink:
There's nothing strange in it.
I'll restart my machine and will be more patient next time
(by the way, does it always restart from the beginning when it's
interrupted?), and will tell you exactly how much time it
took to complete.
Well, there is something wrong already on the first line.
/usr/sbin/prelink -av -mR -f
-f is to be used only for the first time or after prelink rpm upgrade.
-f is added if:
if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \
|| grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then
# If cache does not exist or is from older prelink versions or
# if we were asked to explicitely, force full prelinking
rm -f /etc/prelink.cache /var/lib/misc/prelink.force
So if you never let prelink to finish, prelink.cache will be never
written and full reprelinking happens every time.
How much memory do you have on your box? Only swap trashing would sufficiently
explain to me why full prelinking takes longer on your several times
faster box than on my oldish PC.
Thanks for explaining my trouble!
My box has 512 MB of RAM (1 GB of swap), but it's a laptop,
so its IDE disk is fairly slow...
prelink has been running for roughly 2 hours so far
(45 minutes of raw CPU, not counting the ld-linux.so.2
Actually, I think I understand why it takes so much time:
probably because I installed all available packages, making
the job a huge task.
At the end it completed successfully in a bit more than 2 hours.
I guess you just have to be patient...