[kde] Re: plasma-desktop (KDE factory) acting up?



Duncan writes:

Alex Schuster posted on Fri, 29 Oct 2010 21:12:31 +0200 as excerpted:

[SNIP]

Duncan, thanks for the lengthy explanation! I snipped it, as I don't
have much to comment, but I appreciate it much.


Maybe my setup is just over-complicated? When I look at screenshots
of people using KDE4, they often only have two desktops. Well, I
have eight desktops and activities, in case someone is interested,
there are some screnshots here:
http://www.wonkology.org/comp/desktop/2010-06-19/

The current setup is a little different, but not much.

Wow! While your customization is rather different than mine, it's
certainly as customized. OTOH, you mention below that you're a Gentoo
user too, and Gentoo's known for the customization options it offers,
so that isn't /so/ surprising, I guess. =:^)

Maybe :) I'm using Gentoo for about 8 years now. What I like most is
the continuous updating. No need to re-install a new version of my
distro every year, which has been problematic most of the times, and
still is (I maintain some Fedora and Ubuntu Servers). No installer,
which I now see as a benefit, because I fully understand what is done,
and I don't have problems with various installer bugs/problems I seem to
find. Like with my last Ubuntu install, when the Desktop version has no
LVM support. This gives great flexibility.
And yes, I like that I can customize the system and specify whether I
like my programs to be built for KDE, Gnome, or just text mode.

And I spend some time customizing my desktop, hoping that this will make
me more productive. By saving time, and more by making the work on my PC
more fun.

About the many desktops, I use them for these purposes:

1 - Admin: System monitors and some shells. A folder view which I don't
use much. Xeyes, of course. Oh, I see the mouse odometer is missing. By
now I also have one xosview here (mainly because it shows paging), and
another plasmoid that shows the state of my hard drives.

2 - Multimedia: Amarok runs here, and the other window is the result of
playing with this 'window grouping' feature that came in KDE 4.4. It is
a konsole and a dolphin window combined, the window title bar acts as
tabs. The dolphin has two tabs, for music and videos, and each tab has
two views to copying data between folders is easier. The shell in the
other window is used for downloading things on the command line, or
other tasks in my /data/mpeg directory.

3 - Mail, News: Kontact and a browser with news sites I visit regularly.
Sometimes I add another browser window with twitter tabs (I don't tweet,
but there are some people whose tweets I watch), and in the screenshot
there is one more browser dealing with the soccer world championship
that was going on at that time :)

4 - Prog: I do my programming here. Some shells, a file browser, a web
browser with my company's wiki and sometimes more tabs. Two folder
views, they are the same as in desktop 1 and 4. Meanwhile I have another
one to quickly access some more stuff I often need durig programming,
like documentation and such. The calculator is not really useful.
Once I actually do someprogramming, you will find many editors and stuff
here, the screenshot shows the desktop as it is just after login.

5 - Remote: Administration of remote sites. In the screenshot I have a
KDE session via NX on a remote system, and I work with my Windows
notebook via rdesktop. The remote sites are accessed via the folder
views that open various starters for NX, FTP and SFTP dolphins, and VNC
sessions.

6 - Images, and Webcomics. I also work here when using Gimp.

7 - no name: Bureocratic and financial stuff like kmymoney, online
banking, OpenOffice.

8 - Extra/Scratch: This desktop is empty most of the time, but sometimes
I like to have a fresh desktop top start something entirely different,
play around with plasmoids, or games.

8 desktops is a lot, but don't think I could live with less than 6.

BTW: http://www.wonkology.org/comp/desktop/desktop3x3.png shows what I
had around 2004, using Enlightenment and Gnome. It's 3x3 desktops, all
combined in one 4800x3600 image. This was working quite well, with 1G of
RAM. I had a Windows XP running in VMware most of the time, over 20
shells, with 20 of them saved in the session so the opening every time I
logged in. And as I see in the screenshot, I was using 750M of swap
space, 3/4 of my total memory. This desktop felt much better than my
current one does. This is crazy!


FWIW, it's rather old (4.2 era, when I was switching from kde3 to kde4
and still had elements of both installed and running, together), but I
still use a generally similar arrangement to the one in the screen
shot here:

http://members.cox.net/pu61ic.1inux.dunc4n/

I still have dual monitors in stacked config, tho I'm now running
slightly shorter ones, standard US 1080p HD, so the overall resolution
is 1920x2160.

Cool, now this is huge! Um, are these monitors _physically_ on top of
each other, or side by side?

Likely as a result of the additional screen space the dual monitors
gives me, I don't actually use as many desktops as I might.

I might somehow live with only four then.

I only
use three, and only have a single "activity"... tho due to the way
plasma worked pre-4.5 each monitor formerly displayed a different
"activity", but the two formed a single desktop. 4.5 has changed that
somewhat and it's clear that the intent is to have the whole desktop
be the activity, even if each monitor has its own separately
configured background, but again, it's clearly a WIP (work in
progress), which sort of works, but I expect will be MUCH more
polished and functional in 4.6 (what arguably should have been kde4's
.1 release, by traditional measures).

I still have the big panel at the top, now all plasma, of course, with
the system activity graphs that were provided in the screenshot by
kicker's ksysguard applet now provided by the yasp-scripted
(yasp=yet-another- systemmonitor-plasmoid) plasmoid off of
kdelook.org, since there appears to be no proper ksysguard plasmoid to
replace kde3's kicker applet. In addition to the several
yasp-scripted sysmon plasmoid instances (including one tailing
syslog), this panel also includes the systray.

Does the one tailing syslog work like tail --follow=name? That is, when
the file gets renamed due to log rotation, does it show the new file? My
plasmoid shows metalog's /var/log/everything/current, but once per day
this file gets renamed and an empty one is created, which the plasmoid
does not show then.

Oh, wait - I googled the yasp plasmoid, downloaded it, and found a tail
-f command in the yasp_scripts/systemmonitor.script file. So that would
be easy to change. Oh, there's a directory named duncan-yasp-scripts :)

[...]

Window-placement-wise, I REALLY like the drag-to-side-half-maximize (to
monitor, so it stays in the active monitor not over both) feature that
appeared in 4.4 and use it a LOT! (OTOH, on a dual-monitor stacked
config, the drag-to-top-to-maximize functionality is annoying, since
it triggers when dragging to the top of the BOTTOM screen too, and
that's the MIDDLE of the desktop. So that option's turned off.) My
normal config (with kiwn's customized window-rules applied to help)
runs both konsole and konqueror (my default browser, tho I use firefox
as well) half-maximized, so I get two instances side-by-side.

I don't use this feature that often, but I like it, it is very
convenient sometimes. One of the many things I would miss when going
away from KDE.
Even cooler is the feature I mentioned that allows to group windows
together.

Kmail, akregator and pan (USENET/news client, about the only gtk app I
run other than firefox) run almost-maximized in the bottom monitor,
with pan getting its own dedicated "news" desktop. (As I mentioned
above, I only run three desktops, pan on one, and two others so I can
have whatever project open on one and still have the other for a
second project or as a free/overflow desktop.)

I say "almost-maximized", because I use custom kwin window rules to
keep those apps a title-bar's height shorter than full maximized.
That way, I can run a half-maxed browser/konsole/whatever on the same
bottom monitor and still conveniently click-raise either the
almost-maximized app or the other one, without trouble (focus follows
mouse policy, click-to-raise, additionally, window transparency allows
me to focus the "underneath" app and work in it "thru" the on-top app,
when necessary -- this is why I find transparency almost indispensable
now).

Nice.


I installed KDE 3.5 just to compare, and it seems to be much faster.
But I got used to KDE 4, and would not want to switch back. Maybe I
will, if things will not become better soon. First I will add
another 2G of memory, and let's see if 8G will be enough then to
make KDE4 run fast.

It's interesting that your experience is so different than mine, when
we're both running KDE 4.5.2 on Gentoo.

Now while my system is somewhat old now (2004 era), it was well beyond
the desktop system of the time, with dual socket Opteron (originally
single- core 1.6 GHz Opteron 242s, now dual-core 2.8 GHz Operon 290s,
the top of the line as far as socket 940 goes). If you're only
running a single single-core, that's no doubt part of it, but it
doesn't explain the memory issues you mention.

Here: AMD Athlon 4850e dual core @ 2.5 GHz.

Originally, I had 8 gig (4 sticks @ 2 gig each) RAM, but one stick died
and I've not replaced it, so I'm at 6 gig now. But even with all the
stuff I run, I wouldn't expect to have a problem even if I lost a
second stick bringing it down to four gig, and in fact I'm on record
as saying if I had it to do over, I'd get 4 1-gig sticks instead (the
four sticks allows more efficient multi-channel memory access), since
I'm seldom using more than 4 gig, INCLUDING CACHE. While I do put the
extra memory to work when I'm doing upgrades (using portage's parallel
building,
MAKEOPTS="-j13 -l10" and defaulting to emerge --jobs=4
--load-average=7, with PORTAGE_TMPDIR in a 5 gig tmpfs), even that
seldom pushes memory above 6 gigs usage into swap (it'll typically go
a a few MB in, 10-20) -- and that's even with kernel swappiness=100,
so it's going to swap instead of dumping cache.

Wow, that's a difference. I have swappiness=20 already. I will try
compcache (compressed swap space in RAM, just read about that), let's
see what this gives.

But there's three differences that I'd guess make up a majority of the
difference:

1) With a few noted exceptions, my general work pattern closes apps
when not in use.

Not here. I got used to not closing applications, just in case I might
need them later. This used to work very well, and I think it should. An
application that is not being used should get swapped out when memory is
needed, and as long as there is enough swap, there should be no problem.

But even when I close additional stuff that is not in the saved session,
this does not seem to help much. I think, I will have to explore this
further.

While I may run days to weeks without a reboot (and
then it's usually to test a new kernel, I run direct linus mainline
git and do regular pre-release kernel testing and bug reporting, among
other things), and may run kde for days between kde restarts,
typically, I don't keep /that/ many apps running. In particular,
firefox is said to be a big memory hog if left running for days at a
time with a lot of tabs, and my default browser is konqueror and I
don't often open more than a handful of tabs or keep them open for
more than a few hours, max, so while I use firefox some, I just don't
have the issues with it that many report, as I just don't use it that
way. Even with konqueror, tho, I tend to open a window, only open
links in that window as new tabs, and only keep the window open a few
hours, tho I often have three or more independent konqueror instances
running at once.

Oh, I have many more. Currently, chromium uses 1125 MB. I wrote a little
shell script that totals the RSS column in the ps aux output.

I also don't run servantware (in the context of the sig) apps, so no
flash or the like to bug out on me. =:^)

I don't like flash, but I don't want to miss it either, so I have it
activated :-/ nspluginviewer often takes lots of CPU, so I kill it
regularly. The red circles with the white X inside on my desktop are for
this. I press this about a dozen times a day.


It's worth noting that while your reported plasma-desktop memory usage,
resident, according to top, reaches a gig, here, top does report it as
the biggest resident memory user, but only by fractions of a MB, with
both it and pan (ranked second) reported by top to have 93 MB
resident.

FWIW, here's some other plasma mem numbers according to top:

VIRT 930 MB (virtual memory is the amount the app has asked the kernel
to allocate, but traditionally, most apps use very little of it, such
that the kernel over-commits by a rather big ratio, 50:1, by default,
see /proc/sys/vm/overcommit_ratio).

SWAP 838 MB (swappable, not necessarily swapped, as it isn't here since
I'm running 0 MB swap ATM).

SHR 36 MB (shared, this memory is potentially shared between a number
of apps using the same libs).

93 MB resident here vs a gig there? Something tells me you've a
problem, and one of the differences is your 8 desktops with an
activity per desktop, vs my three desktops, same activity (or set of
two activities back on kde 4.4, one per monitor) on each.

Sorry, I see I forgot to write something about that. I was composing a
similar text in a forum, and got confused.
pasma-desktop started using > 1G of memory aftert the last upgrade from
4.5.1 to 4.5.2. When I logged into KDE after the upgrade, the usual
KDE-is-starting animations appeared, but when it disappeared, I got a
black background, and thought something went seriously well. But after
some minutes, all plasma stuff appeared.
When I watch the process with top while starting (or restarting after a
crash), I see memory climbing, until it is at 1.3G, and then I have my
plasma desktop back.

So, this problem is new, but before, with KDE 4.5.1, I also experienced
swapping already, and things were slow. Maybe not _that_ slow as they
are now.

Also possibly of note while still on #1, you mention running chromium,
which (like firefox but worse) bundles its own copies of many system
libraries, so memory that's normally shared between apps using the same
library is exclusive to chromium, with its bundled library copy. As I
said, firefox does some of the same thing, but at least on Gentoo,
they've force-unbundled more of the libraries with firefox than with
chromium, so it uses more of the shared system libs. Another factor
would be the separate VMs chromium uses for each tab, much stabler and
more secure, but not exactly memory miserly. If you're running the 50
tabs for days on end that I've seen some folks talking about running
on firefox, that /might/ be part of it.

Hm. I switched to chromium for the reason, that konqueror had a serious
bug 3-4 months ago. About once per day, I suddenly could not move the
focus away from konqueror. Or, more specific, from the last widget/area
inside konqueror that I used. So I could do things in the current tab,
but not switch them, or access the menu bar. I could switch applications
by keyboard shortcut, but then this application was only partially
functional. Took me a while until I found out this is linked to
konqueror. Finally, I dumped it, and tried chromium, after someone on
gentoo-user suggested it as being fast. And it was, and actually it used
less memory than konqueror! Flash worked fine (it also does in
konqueror, but at that time it didn't), and I did not have a single
chromium crash since then.

I'm thinking about going back to konqueror, which I still like more. But
what I like about chromium is that it saves all open tabs when logging
out, and when I restart it, all is as it was before. Konqueror does
something similar in KDE4, when I log into KDE I am asked whether I want
to restore the last session. But it does not work that well, and it
would open konquerors additionally to the ones saved in my session. And
all are the same process then, if one dies, all windows die, while the
konquerors that are opened by restoring the session are different processes.
I could save the session whenever I log out, but I like the session to
be tidy when I start, without all the other stuff I had running when I
logged out. And as I wrote, saving the session often does not work, and
everything will open on the first desktop.

But so far, we definitely know something's up with your plasma, as a
gig of resident really does seem abnormal. Why? Well, see #2 and #3.

2) I'm running gcc 4.5.1 here, with --as-needed in my LDFLAGS (it's
there on Gentoo by default now, but that's a rather new change so if
you've not done a full emerge --emptytree @world in awhile...).

I'm using gcc 4.4.5 and have --as-needed in LDFLAGS, but while I do
@world updates quite often, I never used --emptytree on this system. I
Installed it in June when I went from i686 to amd64, using gcc 4.4.4.
Oh, and the system felt quit fast then! Much more responsive than it was
before, with identical /home. I even removed 2G so I had less memory
than the 3.3G I had on the i686 system, and it still was faster. So the
speedup was not only because I could use the full 4G now. No idea what
that was. And no idea why it became slow again soon. I did not notice
this first, it seems like it did not change all of a sudden, but
gradually. Like if some heavy, heavy file system fragmentation happened.
Which does not seem to be the case.
When I'm not using the system heavily, it's fine, but when I work
heavily with it, it will eventually start swapping.

I will investigate this further and log memory consumption.

Newer gccs might be a bit more efficient in that regard, and having the
whole system built with the same compiler is likely to make system
library memory sharing work better, I'd guess, as well. The
--as-needed in LDFLAGS might be a bigger factor, however, as otherwise
the linker will link in libraries that really aren't needed, and if
those are then loaded at runtime... Note that I also have -z,now in
my LDFLAGS. That causes the loader to resolve all symbols at app init
time, which will pull in more code then, but it then won't have to be
pulled in later. Normally that'd cause apps to use MORE memory, not
less, but it's possible the effect of forcing initial symbol
resolution allows more efficient library sharing, reversing the effect
system-wide, I'm not sure. But the effect will in any case be less
with --as-needed as well, since less actually unneeded code will be
linked and therefore force-loaded by the on-init loading.

It's also somewhat possible that an earlier version of gcc had a bug
that I didn't run into with gcc 4.5.1. Again, it's possible that
having parts of the system compiled with different compilers could
magnify the issue. It's not for nothing that Gentoo's gcc upgrade
guide recommends doing an emerge --emptytree @world after a gcc
upgrade, tho I normally only do it after feature version bumps (4.4 to
4.5, not the bugfix 4.5.0 to 4.5.1 that I recently did, but I did an
--emptytree recently for other reasons).

This has been discussed several times on the gentoo-user mailing list,
and the general consensus there is that recompilation of the whole
system is not necessary normally, only when the ABI changes, which
happened the last time when gcc went from 3.3 to 3.4.

But hey, why not, my system is running all the time anyway, so even if
it slows thinsg down, I can let it compile while I am sleeping. I heard
sone good things about th enew gcc, but thought I'd wait until it is
considered stable. But when your experiences are good, I'll give it a
try. So, I would add the graphite USE flag, and add -floop-interchange
-floop-strip-mine -floop-block to my CFLAGS? I just read that (again) in
a thread on gentoo-amd64, you were involved there, too :) Not sure if I
also should add the lto USE flag and add -flto to CFLAGS as also
sugestend in the thread.

3) I know from personal experience that graphics hardware and drivers
make a **HUGE** difference in how well kde4 runs. "Drivers" includes
not only the xorg driver, but the kernel dri/drm module as well, plus
mesa, libdrm, and xorg. I tend to run ahead of ~arch, as I'm running
the xorg overlay, and I already mentioned I run mainline linus git
kernels. Also, I don't do servantware, so no nvidia/frglx here!

My graphics card is a Radeon hd4650 (r7xx series, my old one was an old
Radeon 9200, r2xx series, thus the personal experience of the
difference it makes!), and here's the graphics stack I'm running:

xf86-video-ati-6.13.2
xorg-server-1.9.1
mesa-7.9
libdrm-2.4.22
kernel (linus mainline) 2.6.36 (actually still a few git commits back
from that, 2.6.36-rc8 plus a few commits, I've not upgraded since the
proper release).

ATI Radeon HD 3200

xf86-video-ati-6.13.2
xorg-server-1.7.7-r1
mesa-7.8.2
libdrm-2.4.22

I had tried newer X servers, but than I had X crash after a minute. And
I'm not satisfied with the radeon drivers either, I get lots of graphics
distortion when scrolling in applications. This gets better when I turn
desktop effects off, which is bad because I like them. Maybe I should
try the fglrx closed-source driver again, but I had much problems with
that (but this were older versions), there seemed to be a memory leak,
and all the swapping was even worse than now.

I'm using tuxonice-sources-2.6.34-36. Oh, Tux On Ice. Another of these
things I put some time into, and that just don't work well. But this is
the wrong list for this.

Again, those are recently recompiled along with the entire system using
gcc 4.5.1.

kde 4.5 does have known issues with certain graphics cards and drivers,
including radeons, but it's said to be better if you're running the
latest, which I am. If you're running something older, or if you're
running servantware drivers, or if it's not all compiled with the same
gcc/ binutils, that could be part of it. Actually, I'd not be
surprised at all to find this was the biggest issue, right here, given
the known issues in the area, and the abnormal gig resident for
plasma-desktop you're reporting.

***BTW***

I'm seeing the comic-strip-plasmoid related crashes here as well.

Only the plasmoid, or the plasma-desktop process?

After chasing down a different (non-kde) graphics bug I was seeing, I
have a suspicion that I've not had time to verify.

What version of cairo are you running? Here:

cairo-1.10.0-r3

Same here.

Apparently cairo 1.10 "changed ownership semantics" in some way vs.
previous versions. That's in quotes because it's very close to the
words used by the dev that traced down the non-kde bug I mentioned,
and I don't know enough about cairo to have a clue. But I do know
that when he adapted his code to work with the new semantics, it did
away with the problem.

Now, if I'm not mistaken, cairo originated as a gtk/gnome vector
graphics rendering library, but it's used more widely now, including,
it would seem according to equery depends, qt-gui and thus kde.

What I suspect but haven't yet verified is whether masking
~cairo-1.10.0, thus forcing a downgrade to cairo-1.8.10, suddenly
resolves this bad comic- strip-plasmoid crashing issue!

Perhaps you could try it and see?

I did so and logged out and in into KDE. I tried all the comics,
including the 'Perls Before Swine' compic that never showed something
(BTW, could you try if this one works for you?), looked good. But then,
it finally crashed after some more playing with it. That is,
plasma-desktop crashed, not only this plasmoid.
BTW2, another annoying thing is that it doe snot keeps the size I give
it, and gets really small when I change the comic. I always view them
with the middle mouse button.


$KDEHOME/share/config/plasma-desktop-appletsrc

I also found this file when analyzing why my activities were on the
wrong desktops. I was able to fix this manually for some times by
exchanging some of the numbers. When it happened again, I simply
restored a backup copy of this file.

Oh, speaking of backups: I make lots of them. I never save the
session without making one of my ~/.kde4 directory, because it often
does not work and all applications open on the first desktop, for
example. Or the plasmoids are all mixed up again.

Ugh! FWIW, activity application tracking should be much improved with
4.6, I've seen that blogged already, even tho I'm not following it as
closely as I once did.

The mixed-up plasmoids... probably part of the same bug this whole
thread is about, and hopefully fixed with 4.6 if not before. But I
don't know that for sure via blog of the dev.

Sounds good.

BTW, what I am missing is a possibility to move plasmoids around to
other desktops/activities. Or is there already another method than
deleting and re-creating a plasmoid? I'd also like the option to make
them sticky on all activities, similar to windows being visible on
all desktops. Even better would be the possibility to select
multiple desktops/activities for plasmoids and windows.

Moving the plasmoids between activities... used to be possible using
the zooming interface, I think, but I don't know how to do it using
the new interface. Of course it should be possible by directly
editing that file mentioned above, changing the numbers appropriately,
but that's definitely "advanced users only" territory, given the
hassle involved ans risk of totally screwing the entire plasma config
if one isn't careful.

Yeah. And I always fear that I make a slight mistake that might trigger
all sorts of weird side effects, and I will never know.

The other stuff... there's STRONG hints in the blogs that this general
type of thing is already what they're planning, and I definitely expect
to see at least some of it for 4.6. But I doubt we'll see anything
like their full vision for activities before 4.8 or so (by which time
they'll have even more ideas, of course)... another full year plus,
from now. What the specific increments for 4.6, 4.7 and 4.8 might be,
however, I couldn't guess at this point.

Oh dear. Hey, I'm already waiting for a year now for KDE to become stable :)

Oh, and plasma-desktop just crashed again, when I gave the comic
plasmoid anopther try. After 4 1/2 minutes, des desktop is back, and
plasma-desktop takes 1.3G of memory. And I suddenly have a minimized
'JavaEmbeddedFrame' in my panel which I cannot maximize. It
disappeared after a while.

Well, time to log out and in again, as I do every 1-2 days in order
to make KDE4 fast again, at least for a while until the swapping
starts again.

Hopefully something in the above is helpful, as a gig of resident for
plasma-desktop... OUCH!

Well, many many thanks for your large mail and the ideas! At least it
will give me an improved syslog monitor :)

Wonko
___________________________________________________
This message is from the kde mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.



Relevant Pages

  • Re: [x86_32] With 4GB installed, in which cases low mem total is less than 896MB?
    ... since I had to install a Gentoo GNU/Linux distribution by ... not even address all of your memory _at all_ without hardware hacks ... Highmem, lots of it, is ... but it's stapling kludges onto ...
    (Linux-Kernel)
  • Re: Very urgent : Querying thread stack size
    ... For big picture, we have a product whose base is same but has different ... Now the customization is not trivial (its around 500k+ lines per ... stack space used, ... We are developing a system which is memory hungry, ...
    (microsoft.public.windowsce.platbuilder)
  • Re: which distribution to choose
    ... > An advantage of Gentoo other some others is that it will give you easy ... you have to compile absolutely everything. ... If your firewall gets compromised, ... And, of course, the 'easy customization' is a long and tedious process. ...
    (Focus-Linux)
  • Re: OT - Motherboard LIVES!
    ... I've only ever installed ubuntu once (gentoo man) so memory ... might be failing me! ...
    (comp.sys.sinclair)
  • Re: Using Which Version of Linux
    ... And for complete control and customization of your os and hardware... ... There's nothing like Gentoo! ... Prev by Date: ...
    (comp.lang.python)