[Bug 211416] Optimise kde performance on nfs

Dean Montogmery dmonty at sd73.bc.ca
Wed Jun 2 22:26:12 BST 2010


https://bugs.kde.org/show_bug.cgi?id=211416





--- Comment #5 from Dean Montogmery <dmonty sd73 bc ca>  2010-06-02 23:26:07 ---
Another idea:

* have a kde option to use the "locate" database to build an "available file
list" in RAM.  This way kde will be able to quickly lookup and access config
files, icons images, locales, libs, etc.  instead of thrashing the nfs looking
for files that don't exist.  Cron updates the locate database every night which
is good enough for me - kde can fall back to thrashing if locate database is
old.

=====
Below is a list of files with a count of "misses" that strace shows for the
kdm=>desktop login process.  You can easily see how kde thrashes NFS thousands
of times looking for config files (kdeglobals, system.kdeglobals), icons
(*.png), locales (*.mo) etc...

grep -i 'no such file or directory' kdm* | awk -F '"' '{print $2}' | xargs -n1
basename | sort | uniq -c | sort -n

...
     84 application-exit.png
     84 configure.png
     84 dialog-cancel.png
     84 dialog-error.png
     84 dialog-ok-apply.png
     84 dialog-password.png
     84 dialog-warning.png
     84 document-export.png
     84 document-multiple.png
     84 document-new.png
     84 document-open.png
     84 document-print-preview.png
     84 document-print.png
     84 document-revert.png
     84 document-save-as.png
     84 document-save.png
     84 drive-harddisk.png
     84 edit-clear.png
     84 edit-copy.png
     84 edit-cut.png
     84 edit-find-replace.png
     84 edit-find.png
     84 edit-paste.png
     84 edit-redo.png
     84 folder.png
     84 fork.png
     84 format-indent-less.png
     84 format-indent-more.png
     84 format-justify-center.png
     84 format-justify-fill.png
     84 format-justify-left.png
     84 format-justify-right.png
     84 format-text-bold.png
     84 format-text-italic.png
     84 format-text-strikethrough.png
     84 format-text-underline.png
     84 go-bottom.png
     84 go-down.png
     84 go-first.png
     84 go-home.png
     84 go-jump.png
     84 go-last.png
     84 go-top.png
     84 go-up.png
     84 list-add.png
     84 media-floppy.png
     84 media-optical.png
     84 media-playback-pause.png
     84 media-playback-start.png
     84 media-playback-stop.png
     84 media-record.png
     84 media-seek-backward.png
     84 media-seek-forward.png
     84 media-skip-backward.png
     84 media-skip-forward.png
     84 network-connect.png
     84 network-disconnect.png
     84 network-server.png
     84 preferences-desktop-font.png
     84 process-stop.png
     84 tools-check-spelling.png
     84 unknown.png
     84 view-fullscreen.png
     84 view-restore.png
     84 view-sort-ascending.png
     84 view-sort-descending.png
     84 zoom-fit-best.png
     84 zoom-in.png
     84 zoom-original.png
     84 zoom-out.png
     87 view-refresh.png
     87 window-close.png
     90 locale
     94 socket
    110 pixmaps
    114 desktop_kdebase-workspace.js
    114 desktop_kdebase-workspace.mo
    117 hicolor
    132 ld.so.preload
    140 .krcdirs
    144 lib
    156 icons
    165 Xcursor
    165 Xcursor.so.1
    165 Xinerama
    165 Xinerama.so.1
    165 Xrandr.so.2
    165 i686
    165 libXcursor
    165 libXinerama
    165 libXrandr
    168 application-x-zerosize.png
    168 color-picker.png
    168 dialog-information.png
    168 dialog-ok.png
    168 document-properties.png
    168 edit-undo.png
    168 help-about.png
    168 help-contents.png
    169 plugins
    173 kde-icon-cache.lock
    187 kde4-configrc
    187 libwacomcfg
    187 wacomcfg.so.0
    202 kdecalendarsystems.js
    202 kdecalendarsystems.mo
    202 kdeqt.js
    202 kdeqt.mo
    202 kio4.js
    202 kio4.mo
    202 libphonon.js
    202 libphonon.mo
    202 solid_qt.js
    202 solid_qt.mo
    217 Trolltech.conf
    240 wacomcfg
    242 plasma_theme_default.lock
    246 kdelibs4.js
    252 edit-delete.png
    252 go-next.png
    252 go-previous.png
    276 oxygen
    286 .
    306 entry.desktop
    306 usd.desktop
    315 viewitem.svgz
    330 kdelibs4.mo
    330 libXfixes.so.1
    330 libXfixes.so.2
    363 dbus-1.so.3
    363 libdbus-1
    397 oxygenrc
    495 sse2
    503 Xrandr
    825 libXi.so.1
    957 cmov
   1320 libXfixes
   1650 libXi
   1688 dbus-1
   2104 kdeglobals
   2805 ld.so.nohwcap
   4074 system.kdeglobals

====
Here is an example of how kde keeps looking for a file that does not exist.

# grep -i 'no such file or directory' kdm* | awk -F '"' '{print $2}' | grep
system.kdeglobals | sort | uniq -c | sort -n

      6 /usr/share/config/system.kdeglobals
     22 /tmp/1498807313/.kde/share/config/system.kdeglobals
    966
/usr/share/kubuntu-default-settings/kde4-profile/default/share/config/system.kdeglobals
   1012 /home/d/dmonty/.kde/share/config/system.kdeglobals
   1034 /etc/kde4/system.kdeglobals
   1034 /usr/share/kde4/config/system.kdeglobals


I'm guessing using a locate database would also speed up non-nfs regular
systems that use hard disk.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Unassigned-bugs mailing list