← Back to team overview

kernel-packages team mailing list archive

[Bug 1476211] Re: kswapd takes 100% CPU although there is no swap

 

I have similar behaviour on my Ubuntu 15.04, Intel Atom D2500 Dual LAN,
Dual COM Fanless Mini-ITX PC with 4 GB RAM and 128 GB SSD.

In few days after reboot kswapd0 starts to take 100% CPU  (see
highlighted row here
https://gist.github.com/SamSoldatenko/83eaf196721bc51d7d55#file-
gistfile1-txt-L29 ). No load. 3Gb free memory (out of 4), 10Gb swap
space.

$ uname -a
Linux minisrv1 3.19.0-26-generic #28-Ubuntu SMP Tue Aug 11 14:16:45 UTC 2015 i686 i686 i686 GNU/Linux

$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
CCCDT10N.86A.0032.2012.0323.1510
03/23/2012

$ uptime
 22:39:01 up 8 days,  5:43,  1 user,  load average: 1.34, 1.23, 1.23

$ sudo ps auxf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S    Sep26   0:15 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Sep26   4:39  \_ [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [kworker/0:0H]
root         7  0.6  0.0      0     0 ?        S    Sep26  76:29  \_ [rcu_sched]
root         8  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [rcu_bh]
root         9  0.5  0.0      0     0 ?        S    Sep26  64:30  \_ [migration/0]
root        10  0.2  0.0      0     0 ?        S    Sep26  23:57  \_ [watchdog/0]
root        11  0.2  0.0      0     0 ?        S    Sep26  26:02  \_ [watchdog/1]
root        12  0.6  0.0      0     0 ?        S    Sep26  75:46  \_ [migration/1]
root        13  0.0  0.0      0     0 ?        S    Sep26   4:38  \_ [ksoftirqd/1]
root        15  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [kworker/1:0H]
root        16  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [khelper]
root        17  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [kdevtmpfs]
root        18  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [netns]
root        19  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [perf]
root        20  0.0  0.0      0     0 ?        S    Sep26   0:05  \_ [khungtaskd]
root        21  0.0  0.0      0     0 ?        S<   Sep26   0:01  \_ [writeback]
root        22  0.0  0.0      0     0 ?        SN   Sep26   0:00  \_ [ksmd]
root        23  0.0  0.0      0     0 ?        SN   Sep26   0:40  \_ [khugepaged]
root        24  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [crypto]
root        25  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [kintegrityd]
root        26  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [bioset]
root        27  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [kblockd]
root        28  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [ata_sff]
root        29  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [md]
root        30  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [devfreq_wq]
root        34 31.5  0.0      0     0 ?        R    Sep26 3748:10  \_ [kswapd0]
root        35  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [fsnotify_mark]
root        36  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [ecryptfs-kthrea]
root        48  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [kthrotld]
root        49  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [acpi_thermal_pm]
root        51  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [ipv6_addrconf]
root        70  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [deferwq]
root        71  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [charger_manager]
root       118  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [kpsmoused]
root       119  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [scsi_eh_0]
root       120  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [scsi_tmf_0]
root       121  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [scsi_eh_1]
root       122  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [scsi_tmf_1]
root       123  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [scsi_eh_2]
root       124  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [scsi_tmf_2]
root       125  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [scsi_eh_3]
root       126  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [scsi_tmf_3]
root       138  0.0  0.0      0     0 ?        S    Sep26   0:57  \_ [jbd2/sda1-8]
root       139  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [ext4-rsv-conver]
root       181  0.0  0.0      0     0 ?        S    Sep26   0:00  \_ [kauditd]
root       297  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [hd-audio0]
root       310  0.0  0.0      0     0 ?        S<   Sep26   0:50  \_ [kworker/1:1H]
root       311  0.0  0.0      0     0 ?        S<   Sep26   0:56  \_ [kworker/0:1H]
root       602  0.0  0.0      0     0 ?        S<   Sep26   0:00  \_ [cfg80211]
root      5464  0.1  0.0      0     0 ?        S    15:14   0:51  \_ [kworker/1:2]
root      6065  0.3  0.0      0     0 ?        S    17:12   1:13  \_ [kworker/0:1]
root      7237  0.4  0.0      0     0 ?        S    20:54   0:29  \_ [kworker/1:0]
root      7648  0.0  0.0      0     0 ?        S    22:15   0:00  \_ [kworker/0:0]
root      7732  1.0  0.0      0     0 ?        S    22:15   0:15  \_ [kworker/u8:0]
root      7839  0.4  0.0      0     0 ?        S    22:31   0:02  \_ [kworker/u8:2]
root         1  0.1  0.4  20180 18464 ?        Ss   Sep26  12:28 /sbin/init text
root       234  0.0  0.0   9416  3428 ?        Ss   Sep26   4:27 /lib/systemd/systemd-journald
root       237  0.0  0.0  13224  3428 ?        Ss   Sep26   0:00 /lib/systemd/systemd-udevd
systemd+   378  0.0  0.0  12424  2200 ?        Ssl  Sep26   0:22 /lib/systemd/systemd-timesyncd
whoopsie   547  0.1  0.2  73256 11208 ?        Ssl  Sep26  14:21 /usr/bin/whoopsie -f
root       570  0.0  0.0   5572  2768 ?        Ss   Sep26   0:59 /usr/sbin/cron -f
root       573  0.0  0.2  41140  8560 ?        Ssl  Sep26   1:20 /usr/sbin/ModemManager
syslog     574  0.0  0.5  50220 22236 ?        Ssl  Sep26   1:03 /usr/sbin/rsyslogd -n
avahi      575  0.0  0.0   3736  2816 ?        Ss   Sep26   0:53 avahi-daemon: running [minisrv1-3.local]
avahi      583  0.0  0.0   3616   212 ?        S    Sep26   0:00  \_ avahi-daemon: chroot helper
root       585  1.1  0.3  82884 13480 ?        Ssl  Sep26 141:59 /usr/sbin/NetworkManager --no-daemon
root       684  0.0  0.1   9300  4564 ?        S    Sep26   0:00  \_ /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-eba3cda0-1d2d-4db7-a1dd-a90fde49ac32-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf eth0
nobody     687  0.0  0.0   6724  3104 ?        S    Sep26   3:53  \_ /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.1.1 --conf-file=/var/run/NetworkManager/dnsmasq.conf --cache-size=0 --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d
message+   597  0.1  0.0   5836  3616 ?        Ss   Sep26  13:29 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
postgres   614  0.0  0.3 193456 14268 ?        S    Sep26   1:15 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
postgres   645  0.0  0.0 193456  3184 ?        Ss   Sep26   0:01  \_ postgres: checkpointer process                                                  
postgres   646  0.0  0.0 193456  2336 ?        Ss   Sep26   2:02  \_ postgres: writer process                                                        
postgres   647  0.0  0.0 193456  3260 ?        Ss   Sep26   2:03  \_ postgres: wal writer process                                                    
postgres   648  0.0  0.1 193756  5480 ?        Ss   Sep26   1:18  \_ postgres: autovacuum launcher process                                           
postgres   649  0.0  0.0  50968  3576 ?        Ss   Sep26   0:24  \_ postgres: stats collector process                                               
root       621  0.0  0.2  39420 11204 ?        Ssl  Sep26   2:12 /usr/lib/policykit-1/polkitd --no-debug
root       622  0.0  0.1  21832  6580 ?        Ssl  Sep26   1:37 /usr/sbin/cups-browsed
root       661  0.0  0.1   8580  4880 ?        Ss   Sep26   4:43 /usr/sbin/sshd -D
root      9944  0.0  0.1  11872  5640 ?        Ss   Oct02   0:00  \_ sshd: git [priv]
root      7641  0.0  0.1  11872  5860 ?        Ss   22:15   0:00  \_ sshd: sam [priv]
sam       7716  0.2  0.0  12004  3204 ?        S    22:15   0:03      \_ sshd: sam@pts/0
sam       7717  0.1  0.1   7572  5088 pts/0    Ss   22:15   0:02          \_ -bash
root      7882  0.0  0.0   6800  3648 pts/0    S+   22:40   0:00              \_ sudo ps auxf
root      7883  0.0  0.0   5316  2388 pts/0    R+   22:40   0:00                  \_ ps auxf
root       670  0.0  0.0   4740  1928 tty1     Ss+  Sep26   0:00 /sbin/agetty --noclear tty1 linux
kernoops   879  0.0  0.0   7116  2616 ?        Ss   Sep26   0:23 /usr/sbin/kerneloops
root      1704  0.0  0.0  42560   992 ?        Ss   Sep26   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data  1705  0.1  0.0  42692  2912 ?        S    Sep26  17:17  \_ nginx: worker process
www-data  1706  0.1  0.0  42692  2912 ?        S    Sep26  17:31  \_ nginx: worker process
www-data  1707  0.0  0.0  42692  2912 ?        S    Sep26   0:00  \_ nginx: worker process
www-data  1708  0.1  0.0  42692  2912 ?        S    Sep26  17:41  \_ nginx: worker process
root      6137  0.0  0.0   4400  2044 ?        Ss   Sep26   3:52 /usr/sbin/irqbalance --pid=/var/run/irqbalance.pid
root      6487  0.0  0.1  46964  6536 ?        Ssl  Sep26   4:35 /usr/sbin/thermald --no-daemon --dbus-enable
git       7916  0.0  0.0   5684  3912 ?        Ss   Sep26   0:00 /lib/systemd/systemd --user
git       7917  0.0  0.0   7012   852 ?        S    Sep26   0:00  \_ (sd-pam)
root      5378  0.0  0.1  12496  5108 ?        Ss   Sep27   0:00 /usr/sbin/cupsd -l
root      8072  0.0  0.1   8468  6796 ?        Ss   Oct02   0:34 /lib/systemd/systemd-logind
sam       7645  0.0  0.1   5684  4120 ?        Ss   22:15   0:00 /lib/systemd/systemd --user
sam       7646  0.0  0.3  21148 15116 ?        S    22:15   0:00  \_ (sd-pam)

$ free -m
             total       used       free     shared    buffers     cached
Mem:          4020       1027       2993         54          2        124
-/+ buffers/cache:        900       3120
Swap:        10220         10      10210

$ sudo swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       2077692 10952   -1
/swapfile                               file            8388604 0       -2

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1476211

Title:
  kswapd takes 100% CPU although there is no swap

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  On a notebook with neither swap partition nor swap file (because of
  SSD and surplus of RAM), kswapd0 suddenly runs amok and takes 100% of
  CPU activity. When this happens, usually at most 5.5 of 8 GB RAM were
  in use, so there is no reason to swap.

  This happens so suddenly, that no user input is possible anymore, eg.
  I can barely switch to tty to kill processes that take most RAM. The
  processor becomes extremely hot and I can only turn the computer off
  and reboot. I  consider this as critical and harmful to my hardware.

  I noticed that Ubuntu installs by default with swappiness 60. Now I
  changed that to 10 because I would never encounter the case that 8GB
  are in use, but it didn't have an effect.

  Expected behavior:
  - on systems without RAM, kswapd should never attempt to swap
  - if there is not enough RAM, kernel should kill processes to free up RAM
  - no process should be able to claim so much CPU activity, that the computer becomes unresponsive (it should always be possible to control/stop/kill processes over tty)

  Actual behavior:
  - kswapd tries to swap although there is no swap space

  ProblemType: Bug
  DistroRelease: Ubuntu 15.04
  Package: linux-image-3.19.0-22-generic 3.19.0-22.22
  ProcVersionSignature: Ubuntu 3.19.0-22.22-generic 3.19.8-ckt1
  Uname: Linux 3.19.0-22-generic x86_64
  ApportVersion: 2.17.2-0ubuntu1.1
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC1:  andreas    2368 F.... pulseaudio
   /dev/snd/controlC0:  andreas    2368 F.... pulseaudio
  CurrentDesktop: Unity
  Date: Mon Jul 20 12:49:24 2015
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2015-06-06 (43 days ago)
  InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
  MachineType: LENOVO 20266
  ProcFB: 0 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.19.0-22-generic root=UUID=8a0dc2f3-fcf3-4e5b-8e23-1441bd36e3dc ro noprompt persistent quiet splash acpi_backlight=vendor vt.handoff=7 init=/sbin/upstart
  RelatedPackageVersions:
   linux-restricted-modules-3.19.0-22-generic N/A
   linux-backports-modules-3.19.0-22-generic  N/A
   linux-firmware                             1.143.1
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 10/31/2013
  dmi.bios.vendor: LENOVO
  dmi.bios.version: 76CN31WW
  dmi.board.asset.tag: No Asset Tag
  dmi.board.name: Yoga2
  dmi.board.vendor: LENOVO
  dmi.board.version: 31900058STD
  dmi.chassis.asset.tag: No Asset Tag
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Lenovo Yoga 2 Pro
  dmi.modalias: dmi:bvnLENOVO:bvr76CN31WW:bd10/31/2013:svnLENOVO:pn20266:pvrLenovoYoga2Pro:rvnLENOVO:rnYoga2:rvr31900058STD:cvnLENOVO:ct10:cvrLenovoYoga2Pro:
  dmi.product.name: 20266
  dmi.product.version: Lenovo Yoga 2 Pro
  dmi.sys.vendor: LENOVO

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1476211/+subscriptions


References