Web lists-archives.com

Re: facts about resource usage of an empty and unused Akonadi (was: Re: disable akonadi)




Martin 
First off I don't use Akondi apps. Turns out half of them are not even installed on this machine. 
Second a large number of Linux boxes including the one I am testing out KD5 on are NOT modern machines. This is a 7 year old Emachine with 2 gigs of RAM. Linux is frequently used on machines that no longer can run Windows. In particular by people who cannot afford to run out and buy a new computer because the old one is just icky and a few years old. 

This is a mostly clean machine. Only things running are Clementine and Konsole. 
As for the maps you requested. 
PID       Swap       USS       PSS       RSS User       Command
  3401    25.2 M   133.8 M   137.6 M   146.7 M draciron   /usr/bin/clementine
  3293    37.8 M    61.3 M    64.8 M    75.4 M draciron   /usr/bin/plasmashell
 14585    11.5 M    12.0 M    15.8 M    25.9 M draciron   /usr/bin/konsole
  3274    16.3 M    10.5 M    12.5 M    19.8 M draciron   kwin_x11
  3405  9912.0 K  6648.0 K  8409.0 K    13.8 M draciron   /usr/bin/kmix
  3237    64.0 M  3756.0 K  4967.0 K    11.5 M draciron   kded5 [kdeinit5]
  3419    21.7 M  3324.0 K  3473.0 K  6936.0 K draciron   /usr/bin/python3
  3325  2260.0 K  2556.0 K  2866.0 K  6088.0 K draciron   /usr/bin/pulseaudio
  3286    29.9 M  1780.0 K  2196.0 K  7612.0 K draciron   /usr/bin/krunner
  3261  1096.0 K  1776.0 K  1931.0 K  4828.0 K draciron   /usr/lib/telepathy/mission-control-5
  3283  8900.0 K  1340.0 K  1703.0 K  5512.0 K draciron   /usr/bin/baloo_file
  3445   832.0 K  1232.0 K  1606.0 K  4384.0 K draciron   /usr/bin/clementine-tagreader
  3475   604.0 K  1080.0 K  1310.0 K  4412.0 K draciron   /usr/lib/gvfs/gvfs-udisks2-volume-monitor
  3279  2236.0 K   928.0 K  1303.0 K  5440.0 K draciron   /usr/lib/x86_64-linux-gnu/libexec/kf5/kscreen_backend_launcher
 14591  1684.0 K  1224.0 K  1302.0 K  3160.0 K draciron   /bin/bash
  3353  8328.0 K  1020.0 K  1216.0 K  5564.0 K draciron   /usr/bin/korgac
  3532  5396.0 K   892.0 K  1158.0 K  5452.0 K draciron   /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd
  3257  5316.0 K   948.0 K  1128.0 K  5312.0 K draciron   /usr/bin/kglobalaccel5
  3174   380.0 K   884.0 K  1059.0 K  2924.0 K draciron   /usr/bin/dbus-daemon
  3251  6192.0 K   864.0 K  1033.0 K  5140.0 K draciron   /usr/bin/ksmserver
  3243  5740.0 K   756.0 K   925.0 K  4828.0 K draciron   /usr/bin/kaccess
  3302  5244.0 K   728.0 K   892.0 K  4748.0 K draciron   /usr/bin/kactivitymanagerd
  3235  3732.0 K   644.0 K   891.0 K  4820.0 K draciron   klauncher [kdeinit5] --fd=9
  3127  4784.0 K   696.0 K   864.0 K  4852.0 K draciron   /usr/bin/kwalletd5
  3306  5660.0 K   704.0 K   863.0 K  4976.0 K draciron   /usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1
  8166  4244.0 K   492.0 K   755.0 K  3900.0 K draciron   kdeinit4: kded4 [kdeinit]
  3314  2352.0 K   592.0 K   731.0 K  4376.0 K draciron   /usr/bin/xembedsniproxy
  3125  3176.0 K   424.0 K   691.0 K  3956.0 K draciron   /usr/bin/kwalletd
  8164  2140.0 K   376.0 K   585.0 K  3148.0 K draciron   kdeinit4: klauncher [kdeinit] --fd=8
  3230   376.0 K   244.0 K   344.0 K  2316.0 K draciron   /usr/bin/dbus-daemon
 21191     0.0 B   192.0 K   249.0 K  2088.0 K draciron   smemstat
  3232   528.0 K   200.0 K   234.0 K  2232.0 K draciron   /usr/lib/at-spi2-core/at-spi2-registryd
  3446  1460.0 K  4096.0 B   182.0 K  2760.0 K draciron   /usr/bin/clementine-tagreader
  3225  3088.0 K   100.0 K   176.0 K  2628.0 K draciron   kdeinit5: Running...
  6626   540.0 K   136.0 K   174.0 K  2360.0 K draciron   /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
  3224   656.0 K    12.0 K   120.0 K  2748.0 K draciron   /usr/lib/at-spi2-core/at-spi-bus-launcher
  3497   712.0 K  8192.0 B    79.0 K  2360.0 K draciron   /usr/lib/gvfs/gvfs-mtp-volume-monitor
  3484   884.0 K  4096.0 B    78.0 K  2652.0 K draciron   /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
 17541  2100.0 K  4096.0 B    59.0 K  1936.0 K draciron   -bash
  3437  2048.0 K  4096.0 B    47.0 K  2360.0 K draciron   /usr/bin/kuiserver5
  3250   468.0 K  4096.0 B    31.0 K  1920.0 K draciron   kwrapper5
  8161  2332.0 K  4096.0 B    27.0 K  1968.0 K draciron   kdeinit4: kdeinit4 Running...
  3491  1096.0 K  4096.0 B    27.0 K  1972.0 K draciron   /usr/lib/gvfs/gvfs-afc-volume-monitor
  3442  1344.0 K  4096.0 B    27.0 K  1952.0 K draciron   /usr/lib/bluetooth/obexd
  3114   828.0 K  4096.0 B    27.0 K  1832.0 K draciron   /lib/systemd/systemd
  3458   700.0 K  4096.0 B    24.0 K  1804.0 K draciron   /usr/lib/gvfs/gvfsd
  3502   528.0 K  4096.0 B    22.0 K  1748.0 K draciron   /usr/lib/gvfs/gvfs-goa-volume-monitor
  3267   476.0 K  4096.0 B    21.0 K  1676.0 K draciron   /usr/lib/dconf/dconf-service
  3173   464.0 K  4096.0 B    20.0 K  1440.0 K draciron   /usr/bin/dbus-launch
  3128   112.0 K  4096.0 B    19.0 K  1488.0 K draciron   /bin/sh
  3222    88.0 K  4096.0 B    11.0 K   644.0 K draciron   /usr/lib/x86_64-linux-gnu/libexec/kf5/start_kdeinit
Total:   315.0 M   253.4 M   275.5 M   446.7 M

I finally got Akondi to start by running KOrganizer which didn't kick off everything but close enough. I'm not going to go re-enable Akondi and reboot to get the extra garbage that came with Kbuntu's default setup. 

  PID       Swap       USS       PSS       RSS User       Command
 21426     0.0 B   147.5 M   147.6 M   151.1 M draciron   /usr/sbin/mysqld
  3401    25.2 M   127.2 M   132.0 M   146.9 M draciron   /usr/bin/clementine
  3293    29.1 M   104.7 M   111.0 M   148.7 M draciron   /usr/bin/plasmashell
 21419     0.0 B    25.6 M    41.6 M   109.7 M draciron   /usr/bin/kaddressbook
  3283  5436.0 K    30.5 M    31.7 M    37.8 M draciron   /usr/bin/baloo_file
  3306  2692.0 K    16.5 M    27.2 M    67.9 M draciron   /usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1
 21470     0.0 B    18.2 M    22.3 M    39.4 M draciron   /usr/bin/akonadi_baloo_indexer
 21479     0.0 B    11.6 M    18.2 M    74.0 M draciron   /usr/bin/akonadi_mailfilter_agent
 21469     0.0 B    11.2 M    17.5 M    71.7 M draciron   /usr/bin/akonadi_archivemail_agent
 21484     0.0 B    10.9 M    16.7 M    70.6 M draciron   /usr/bin/akonadi_sendlater_agent
 21482     0.0 B    10.7 M    15.8 M    68.0 M draciron   /usr/bin/akonadi_notes_agent
  3274    15.5 M    11.4 M    12.8 M    26.5 M draciron   kwin_x11
 21474     0.0 B  8424.0 K    11.1 M    53.4 M draciron   /usr/bin/akonadi_ical_resource
 21473     0.0 B  7736.0 K    10.5 M    53.1 M draciron   /usr/bin/akonadi_followupreminder_agent
 21481     0.0 B  7504.0 K    10.1 M    52.0 M draciron   /usr/bin/akonadi_newmailnotifier_agent
 21477     0.0 B  7596.0 K 10179.0 K    49.9 M draciron   /usr/bin/akonadi_maildispatcher_agent
 21471     0.0 B  7544.0 K 10161.0 K    50.9 M draciron   /usr/bin/akonadi_birthdays_resource
 21425     0.0 B  9568.0 K 10155.0 K    21.5 M draciron   akonadiserver
 21475     0.0 B  7284.0 K  9725.0 K    49.1 M draciron   /usr/bin/akonadi_maildir_resource
 21468     0.0 B  7268.0 K  9691.0 K    48.8 M draciron   /usr/bin/akonadi_akonotes_resource
 21472     0.0 B  6976.0 K  9245.0 K    46.7 M draciron   /usr/bin/akonadi_contacts_resource
 21480     0.0 B  6960.0 K  9092.0 K    45.4 M draciron   /usr/bin/akonadi_migration_agent
 14585    11.4 M  6280.0 K  8865.0 K    27.2 M draciron   /usr/bin/konsole
  3405  9856.0 K  5616.0 K  7456.0 K    14.4 M draciron   /usr/bin/kmix
 21422     0.0 B  4080.0 K  5148.0 K    27.0 M draciron   /usr/bin/akonadi_control
  3237    63.8 M  4060.0 K  4586.0 K    13.2 M draciron   kded5 [kdeinit5]
  3353  7272.0 K  3492.0 K  4575.0 K    20.5 M draciron   /usr/bin/korgac
  3325  1740.0 K  3812.0 K  4113.0 K  8308.0 K draciron   /usr/bin/pulseaudio
  3419    21.6 M  3796.0 K  3883.0 K  7420.0 K draciron   /usr/bin/python3
  3286    29.7 M  2032.0 K  2236.0 K  8620.0 K draciron   /usr/bin/krunner
 14591  1208.0 K  1856.0 K  1921.0 K  4028.0 K draciron   /bin/bash
  3127  4416.0 K  1628.0 K  1919.0 K    10.2 M draciron   /usr/bin/kwalletd5
  3261  1040.0 K  1716.0 K  1878.0 K  5488.0 K draciron   /usr/lib/telepathy/mission-control-5
  3235  3364.0 K  1000.0 K  1656.0 K  9524.0 K draciron   klauncher [kdeinit5] --fd=9
  3445   832.0 K  1136.0 K  1455.0 K  4384.0 K draciron   /usr/bin/clementine-tagreader
  3251  5968.0 K  1284.0 K  1448.0 K  7408.0 K draciron   /usr/bin/ksmserver
  8166  3960.0 K   816.0 K  1417.0 K  5920.0 K draciron   kdeinit4: kded4 [kdeinit]
  3174   232.0 K  1252.0 K  1408.0 K  3600.0 K draciron   /usr/bin/dbus-daemon
  3257  5108.0 K  1260.0 K  1392.0 K  6684.0 K draciron   /usr/bin/kglobalaccel5
  3532  5248.0 K  1040.0 K  1179.0 K  6684.0 K draciron   /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd
  3279  2140.0 K   968.0 K  1153.0 K  6388.0 K draciron   /usr/lib/x86_64-linux-gnu/libexec/kf5/kscreen_backend_launcher
  3475   604.0 K  1000.0 K  1149.0 K  4412.0 K draciron   /usr/lib/gvfs/gvfs-udisks2-volume-monitor
  3125  3020.0 K   588.0 K  1111.0 K  5624.0 K draciron   /usr/bin/kwalletd
  3243  5552.0 K   944.0 K  1072.0 K  6196.0 K draciron   /usr/bin/kaccess
  3302  5116.0 K   856.0 K   985.0 K  5972.0 K draciron   /usr/bin/kactivitymanagerd
  3314  2248.0 K   696.0 K   804.0 K  5820.0 K draciron   /usr/bin/xembedsniproxy
  3230   224.0 K   564.0 K   706.0 K  3072.0 K draciron   /usr/bin/dbus-daemon
  3437  1624.0 K   588.0 K   687.0 K  4796.0 K draciron   /usr/bin/kuiserver5
  3458   364.0 K   384.0 K   595.0 K  4044.0 K draciron   /usr/lib/gvfs/gvfsd
  6626   376.0 K   372.0 K   451.0 K  2888.0 K draciron   /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
  8164  2128.0 K   284.0 K   441.0 K  3160.0 K draciron   kdeinit4: klauncher [kdeinit] --fd=8
  3224   344.0 K   332.0 K   409.0 K  3456.0 K draciron   /usr/lib/at-spi2-core/at-spi-bus-launcher
  3225  2892.0 K   224.0 K   356.0 K  3380.0 K draciron   kdeinit5: Running...
  3232   496.0 K   280.0 K   307.0 K  2376.0 K draciron   /usr/lib/at-spi2-core/at-spi2-registryd
 21680     0.0 B   196.0 K   219.0 K  1972.0 K draciron   smemstat
  3446  1460.0 K  4096.0 B   117.0 K  2760.0 K draciron   /usr/bin/clementine-tagreader
 17541  2100.0 K  4096.0 B    53.0 K  1936.0 K draciron   -bash
  3484   884.0 K  4096.0 B    52.0 K  2652.0 K draciron   /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
  3497   712.0 K  4096.0 B    47.0 K  2360.0 K draciron   /usr/lib/gvfs/gvfs-mtp-volume-monitor
  3222    64.0 K    36.0 K    41.0 K   676.0 K draciron   /usr/lib/x86_64-linux-gnu/libexec/kf5/start_kdeinit
  3114   828.0 K  4096.0 B    24.0 K  1832.0 K draciron   /lib/systemd/systemd
  8161  2332.0 K  4096.0 B    23.0 K  1968.0 K draciron   kdeinit4: kdeinit4 Running...
  3250   468.0 K  4096.0 B    23.0 K  1920.0 K draciron   kwrapper5
  3491  1096.0 K  4096.0 B    22.0 K  1972.0 K draciron   /usr/lib/gvfs/gvfs-afc-volume-monitor
  3442  1344.0 K  4096.0 B    21.0 K  1952.0 K draciron   /usr/lib/bluetooth/obexd
  3502   528.0 K  4096.0 B    18.0 K  1748.0 K draciron   /usr/lib/gvfs/gvfs-goa-volume-monitor
  3267   476.0 K  4096.0 B    17.0 K  1676.0 K draciron   /usr/lib/dconf/dconf-service
  3173   464.0 K  4096.0 B    17.0 K  1440.0 K draciron   /usr/bin/dbus-launch
  3128   112.0 K  4096.0 B    16.0 K  1488.0 K draciron   /bin/sh
Total:   292.3 M   654.3 M   758.7 M  1759.6 M

As you can see it chewed up 250 megs, an eighth of the machine's memory just starting up. MySQL alone was 150 megs. Which is odd since I don't remember MySQL having that heavy a footprint. Leave it sitting for a few hours and it is consuming 8 times that much RAM. Leave it sitting a couple days and unknown problems happen as I have to mash down the power button to get the machine to respond any more. Put it under a normal load and it just goes away for a long time. 

After disabling Akondi it gets a little sluggish if I put a full load on it but is surprisingly fast for a 7 year old machine with 2 gigs. I have had zero reboots except for kernel updates. I think the last one was about a week ago. I put it under a load with no Akondi and it gets a little sluggish. I close some tabs & apps and it's back to normal operations. 

When I put Kbuntu 18.04 on the 5 machines I'll be building next,  one of them actually a modern machine but not mine. The modern machine belongs to an 80 year old relative, and one of the others going to my brother to try to get him into using Linux. The other 3 will be almost as old but will have 4 gigs of RAM. I will make sure to disable Akondi on all of those machines. I expect to have zero issues once I disable Akondi. 

The reason the thread started was somebody asked how to disable Akondi. Which should be something you can do from the control panel. Instead it requires a bit of digging on Google and a few mins in a console window. This is 2018. A lot of Linux users today are not sysadmins and power users. There would be a lot more if Linux developers remembered this isn't the 90s. You cannot count on Linux users having ANY IT capability at all. Over the last several years I set up Linux machines for several elderly people who had zero IT knowledge, often replacing XP installations with Linux. KDE is easy to use out of the box. 10 minutes in Synaptics and I had all the apps these people would ever need installed. With auto updates turned on that machine was good to go until the distro went out of support or the hardware failed. 

Linux really is the ideal OS for granny long as they are not using the latest bleeding edge devices or needing some Microsoft software to run on the thing. Linux is stable, secure and anybody who's used XP or 2000 can figure out KDE no problem.  You are not getting a call every week to remove a virus, install a driver, do a restore from a checkpoint because the registry got trashed. The grand kids can play on it and not fill the machine with viruses and malware. Aside from Skype being hit or miss on Linux I've been able to take a number of obsolete machines and make them work for computer illiterate people using KBunutu. They had a very small learning curve to adapt and a cheat sheet with equiv apps took care of most of that. I also usually left instructions on how to burn a CD and access thumbdrives & cameras as well as how to back up the machine. The only time I've had to do support on any of these machines is when they find ways to mess up Open Office or Thunderbird or something like that and it's only once or twice a year. Half the time it's a 2 minute fix when they do. 

So assuming a modern machine and a power user is not a good assumption with Linux anymore. 

On Mon, Sep 3, 2018 at 3:20 AM Martin Steigerwald <martin@xxxxxxxxxxxx> wrote:
Hello Draciron.

Draciron Smith - 03.09.18, 08:15:
> The thread is about shutting down Akondi and why people want to do so.

Right.

> And it appears that a lot of people have to shut down Akondi because
> of performance reasons. Not just from this thread. A quick google

There are at least two use cases to separate:

1) Users who use KDEPIM and Akonadi. I agree that there are performance
issues for some of the *users* of Akonadi.

2) Users who do not use KDEPIM and Akonadi. I do not agree that an empty
and unused Akonadi does use a lot of resources by todays standards of
computing power.

The performance impact for the second group of users is quite low. A claim
which is easy to backup with numbers. I won´t take the time, cause my Akonadi
is not empty and I´d need to measure with a new user. But I invite you to
proof otherwise to me (using smemstat to measure). Unless you have 2 GiB
of RAM or less, I´d recommend not to bother with it. An empty and unused
Akonadi just sits there, doing nothing after startup. If it is is still
using up a lot of CPU even tough you do not use it, I consider that to be a
bug I´d recommend you report.

Okay, what gives, I take the time to debunk myths. I asked for numbers,
so here you have the backup of my claim:

Akonadi´s memory usage a few minutes after it has been started up:

% smemstat | head -1 ; smemstat | egrep "akonadi|mysql"
   PID      Swap       USS       PSS       RSS D User       Command
 22020     0,0 B    58,1 M    60,2 M    66,9 M   martin2    /usr/sbin/mysqld
 22074     0,0 B    19,2 M    26,6 M    93,8 M   martin2    /usr/bin/akonadi_mailfilter_agent
 22064     0,0 B    18,8 M    26,0 M    91,4 M   martin2    /usr/bin/akonadi_archivemail_agent
 22082     0,0 B    18,7 M    25,5 M    89,8 M   martin2    /usr/bin/akonadi_sendlater_agent
 22008     0,0 B    13,3 M    15,0 M    42,1 M   martin2    /usr/bin/akonadiserver
 22070     0,0 B  6516,0 K  7878,0 K    50,0 M   martin2    /usr/bin/akonadi_notes_agent
 22079     0,0 B  6072,0 K  7589,0 K    47,7 M   martin2    /usr/bin/akonadi_indexing_agent
 22083     0,0 B  5572,0 K  6856,0 K    48,9 M   martin2    /usr/bin/akonadi_newmailnotifier_agent
 22167     0,0 B  5584,0 K  6807,0 K    46,5 M   martin2    /usr/bin/akonadi_ical_resource
 22065     0,0 B  5480,0 K  6418,0 K    45,8 M   martin2    /usr/bin/akonadi_followupreminder_agent
 22072     0,0 B  5368,0 K  6393,0 K    45,3 M   martin2    /usr/bin/akonadi_maildispatcher_agent
 22119     0,0 B  5100,0 K  5963,0 K    44,0 M   martin2    /usr/bin/akonadi_birthdays_resource
 22174     0,0 B  4812,0 K  5746,0 K    44,0 M   martin2    /usr/bin/akonadi_akonotes_resource
 22152     0,0 B  4832,0 K  5740,0 K    43,9 M   martin2    /usr/bin/akonadi_maildir_resource
 22161     0,0 B  4760,0 K  5625,0 K    43,4 M   martin2    /usr/bin/akonadi_contacts_resource
 22062     0,0 B  4784,0 K  5595,0 K    43,0 M   martin2    /usr/bin/akonadi_migration_agent
 22004     0,0 B  4868,0 K  5483,0 K    38,2 M   martin2    /usr/bin/akonadi_control

A good part is mysql with 58,1 MiB Unique Set Size. Then you have those
Akonadi processes most using below 7 MiB each. Now tell me how this would
be going to be an issue for machines with 4 GiB RAM or more? It may not
even be that much of an issue for machines with 2 GiB RAM especially when
you switch to SQLite3.

Akonadi also shows how far off RSS values can be as those processes share
a lot of code in form of shared objects.

CPU time used since startup about 20 minutes ago (started 9:19,
Sandybridge i5 on ThinkPad T520):

% pidstat 0 | head -3 | tail +3 ; pidstat 0 | egrep "[a]konadi|[m]ysql" | grep 1001
09:38:54      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
09:38:54     1001     22004    0,00    0,00    0,00    0,00    0,00     3  akonadi_control
09:38:54     1001     22008    0,00    0,00    0,00    0,00    0,00     2  akonadiserver
09:38:54     1001     22020    0,00    0,00    0,00    0,00    0,00     3  mysqld
09:38:54     1001     22062    0,00    0,00    0,00    0,00    0,00     1  akonadi_migrati
09:38:54     1001     22064    0,00    0,00    0,00    0,00    0,00     0  akonadi_archive
09:38:54     1001     22065    0,00    0,00    0,00    0,00    0,00     2  akonadi_followu
09:38:54     1001     22070    0,00    0,00    0,00    0,00    0,00     1  akonadi_notes_a
09:38:54     1001     22072    0,00    0,00    0,00    0,00    0,00     0  akonadi_maildis
09:38:54     1001     22074    0,00    0,00    0,00    0,00    0,00     0  akonadi_mailfil
09:38:54     1001     22079    0,00    0,00    0,00    0,00    0,00     3  akonadi_indexin
09:38:54     1001     22082    0,00    0,00    0,00    0,00    0,00     0  akonadi_sendlat
09:38:54     1001     22083    0,00    0,00    0,00    0,00    0,00     2  akonadi_newmail
09:38:54     1001     22119    0,00    0,00    0,00    0,00    0,00     1  akonadi_birthda
09:38:54     1001     22152    0,00    0,00    0,00    0,00    0,00     1  akonadi_maildir
09:38:54     1001     22161    0,00    0,00    0,00    0,00    0,00     3  akonadi_contact
09:38:54     1001     22167    0,00    0,00    0,00    0,00    0,00     3  akonadi_ical_re
09:38:54     1001     22174    0,00    0,00    0,00    0,00    0,00     2  akonadi_akonote

Almost none. ps aux reports 2 seconds for starting up mysqld.

Disk usage (should be since startup according to manpage of pidstat, but
that does not appear so, at least mysqld did create the database):

% pidstat -d 0 | head -3 | tail +3 ; pidstat 0 | egrep "[a]konadi|[m]ysql" | grep 1001
09:41:05      UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
09:41:05     1001     22004    0,00    0,00    0,00    0,00    0,00     3  akonadi_control
09:41:05     1001     22008    0,00    0,00    0,00    0,00    0,00     0  akonadiserver
09:41:05     1001     22020    0,00    0,00    0,00    0,00    0,00     3  mysqld
09:41:05     1001     22062    0,00    0,00    0,00    0,00    0,00     1  akonadi_migrati
09:41:05     1001     22064    0,00    0,00    0,00    0,00    0,00     0  akonadi_archive
09:41:05     1001     22065    0,00    0,00    0,00    0,00    0,00     0  akonadi_followu
09:41:05     1001     22070    0,00    0,00    0,00    0,00    0,00     1  akonadi_notes_a
09:41:05     1001     22072    0,00    0,00    0,00    0,00    0,00     3  akonadi_maildis
09:41:05     1001     22074    0,00    0,00    0,00    0,00    0,00     0  akonadi_mailfil
09:41:05     1001     22079    0,00    0,00    0,00    0,00    0,00     3  akonadi_indexin
09:41:05     1001     22082    0,00    0,00    0,00    0,00    0,00     0  akonadi_sendlat
09:41:05     1001     22083    0,00    0,00    0,00    0,00    0,00     2  akonadi_newmail
09:41:05     1001     22119    0,00    0,00    0,00    0,00    0,00     1  akonadi_birthda
09:41:05     1001     22152    0,00    0,00    0,00    0,00    0,00     1  akonadi_maildir
09:41:05     1001     22161    0,00    0,00    0,00    0,00    0,00     3  akonadi_contact
09:41:05     1001     22167    0,00    0,00    0,00    0,00    0,00     3  akonadi_ical_re
09:41:05     1001     22174    0,00    0,00    0,00    0,00    0,00     2  akonadi_akonote

Disk capacity usage:

% du -sh ~/.local/share/akonadi
143M    /home/martin2/.local/share/akonadi

+ some configuration and resource change status files.


You may switch to SQLite by just removing MySQL and PostgreSQL backends.
Or with a configuration option:

[%General]
  Driver=QSQLITE

Memory usage:

% smemstat | head -1 ; smemstat | egrep "akonadi|mysql"
   PID      Swap       USS       PSS       RSS D User       Command
 23667     0,0 B    19,2 M    26,7 M    93,8 M   martin2    /usr/bin/akonadi_mailfilter_agent
 23657     0,0 B    18,6 M    25,8 M    90,8 M   martin2    /usr/bin/akonadi_archivemail_agent
 23673     0,0 B    18,8 M    25,4 M    89,0 M   martin2    /usr/bin/akonadi_sendlater_agent
 23647     0,0 B    10,5 M    11,7 M    37,9 M   martin2    /usr/bin/akonadiserver
 23672     0,0 B  6488,0 K  7862,0 K    50,0 M   martin2    /usr/bin/akonadi_notes_agent
 23662     0,0 B  6012,0 K  7425,0 K    47,1 M   martin2    /usr/bin/akonadi_indexing_agent
 23670     0,0 B  5364,0 K  6621,0 K    48,4 M   martin2    /usr/bin/akonadi_newmailnotifier_agent
 23660     0,0 B  5440,0 K  6436,0 K    46,0 M   martin2    /usr/bin/akonadi_followupreminder_agent
 23665     0,0 B  5364,0 K  6358,0 K    44,9 M   martin2    /usr/bin/akonadi_maildispatcher_agent
 23661     0,0 B  5136,0 K  6255,0 K    45,1 M   martin2    /usr/bin/akonadi_ical_resource
 23658     0,0 B  4948,0 K  5814,0 K    44,1 M   martin2    /usr/bin/akonadi_birthdays_resource
 23664     0,0 B  4792,0 K  5663,0 K    43,6 M   martin2    /usr/bin/akonadi_maildir_resource
 23656     0,0 B  4760,0 K  5659,0 K    43,7 M   martin2    /usr/bin/akonadi_akonotes_resource
 23668     0,0 B  4752,0 K  5553,0 K    42,4 M   martin2    /usr/bin/akonadi_migration_agent
 23659     0,0 B  4656,0 K  5517,0 K    42,7 M   martin2    /usr/bin/akonadi_contacts_resource
 23644     0,0 B  4840,0 K  5462,0 K    38,0 M   martin2    /usr/bin/akonadi_control

Disk capacity usage:

% du -sh ~/.local/share/akonadi
964K    /home/martin2/.local/share/akonadi

% ls -lh ~/.local/share/akonadi/akonadi.db
-rw-r--r-- 1 martin2 martin2 4,0K Sep  3 09:45 /home/martin2/.local/share/akonadi/akonadi.db

+ some configuration and resource change status files.

I skip CPU usage and disk utilization measurements.

But for CPU time on startup:

ps aux reports a TIME of 0:00 for all processes. So none of the Akonadi
processes take more than one second to startup.


So can we be done about discussion of performance impact of empty and
unused Akonadi server already? Especially when switching to SQLite
backend discussing the performance impact of an empty and unused
is much ado about nothing¹. There is really (almost) nothing to see here.

[1] https://en.wikipedia.org/wiki/Much_Ado_About_Nothing

Even with just 2 GiB of RAM the Linux kernel will swap out the memory
used by Akonadi if need be and mostly be done with it.


If you still bother, an easy way to disable Akonadi might be to move

/usr/share/dbus-1/services/org.freedesktop.Akonadi.Control.service

out of the way, or probably "akonadictl", or well whatever starts Akonadi
once a widget or applications accesses it. I do not know for sure, as
I never bothered with disabling Akonadi. But with some trial and error
this should be easy enough to find.

Would it be nice to be able to disable it with a configuration option in
Systemsettings? Sure. Will KDEPIM developers implement this: Probably
not from what I heard so far. But you can open a bug report and aim at
providing a good reason for such a configuration option. In my oppinion:
if the user does not use something, it would be nice to be able to skip
even starting it. I totally agree with that one.

But as I am not one of those users who do not use Akonadi, so it is
certainly not my case to do the convicing work :)

> search turns up hundreds of people asking the same question on Linux
> and technical forums. Akondi has serious performance issues.

Akonadi has dissatisfied users. Not nearly all of the reports you find
on the net are related to performance issues. As not nearly all reports
of your favorite filesystem + "corruption" reveal real stability issues
with filesystems. And it is still good to separate the use cases: How many
reports did you find about the performance impact of an empty and unused
Akonadi that were actually based on *facts*? I *never* saw one. Not even
*one*.

Akonadi has known performance issues, especially for heavy users of KDEPIM
with a lot of mails.

Although there is a major step forward with KDEPIM and Akonadi 18.08,
as Daniel Vrátil fixed one of the known major performance issues in Akonadi
by implementing notification payloads:

https://www.dvratil.cz/2018/04/my-kde-pim-update/

What I still do is to kill akonadi_indexing_agent from time to time – with
KDEPIM and Akonadi 17.12 however still as Sandro is preparing the 18.08
update for Debian. The performance issues it creates are also known to the
developers, including the reason for it. This is one of the next items that
Daniel Vrátil has on his todo list. But akonadi_indexing_agent only creates
those performance issues when there is actually a lot to index. I don´t know
how it will behave with 18.08 yet, I may have to wait till Daniel rewrote
the indexing to put it into the resources themselves for it to improve
substantially.

> If you are a developer I'll be happy to take screen shots Htop and the
> way Akondi crushes a system's memory. […]

htop is not a suitable tool to measure unless is has PSS support meanwhile.
I explained this all in my post about facts about memory usage.

Although I – with a lot of help – fixed a severe performance issue with
local maildir support in Akonadi and provided initial CRM114 spam filtering
wizard configuration developing on Akonadi is not what I do regularly. I
helped to move things forward with performance related issues in Akonadi
some time ago.

The major performance bottle necks are known to KDEPIM developers, but
are challenging to fix as they need good knowledge of how Akonadi work
and are major tasks. We had it all before… countless of times in
kdepim-users. There is a thread I started called something like "review of
database aspect in Akonadi" on kde-pim mailing list that gives a summary
of the major issues. I won´t take the time to repeat it here again.

For people who are really into improving matters with Akonadi and KDEPIM,
read:

KDE PIM Junior Jobs are opened!
https://www.dvratil.cz/2018/08/kde-pim-junior-jobs-are-opened/

Thanks,
--
Martin