RPM

Comment 25 for bug 913615

Revision history for this message
In , Stephen (stephen-redhat-bugs) wrote :

One more data point: in slow mode, the write IO all seems to be to the bdb internal journal files. (This done while executing a simple yum query, "yum list available foobar".) The most recently modified files in /var/lib/rpm look like

[rpm]# ls -lath
total 280M
-rw-r--r--. 1 root root 24K Feb 7 11:20 __db.001
-rw-r--r--. 1 root root 3.7M Feb 7 11:20 __db.002
-rw-r--r--. 1 root root 81M Feb 7 11:20 __db.003
-rw-r--r--. 1 root root 536K Feb 7 11:20 __db.004
-rw-r--r--. 1 rpm rpm 6.5M Feb 7 10:47 Dirnames
...

Reverting mp_size to 1MB by itself doesn't fix this, the results look the same. But clearing the __db* files and rerunning, I still get the write traffic, but much less; and the db files look like

[rpm]# ls -lath
total 198M
-rw-r--r--. 1 root root 24K Feb 7 11:27 __db.001
-rw-r--r--. 1 root root 240K Feb 7 11:27 __db.002
-rw-r--r--. 1 root root 1.3M Feb 7 11:27 __db.003
-rw-r--r--. 1 root root 536K Feb 7 11:27 __db.004
-rw-r--r--. 1 rpm rpm 6.5M Feb 7 10:47 Dirnames
...

Curiously, the __db.003 file (which I think is the bdb mmap cache file) has shrunk by almost exactly the same factor of 64 by which we shrank mp_size. But the actual amount of disk write according to iostat has shrunk to just a few kB.

So the real question is why we're generating so much traffic to the mmap file; and if we can't avoid that, then we should probably just minimise the issue by reverting the size of that file back to its older value.