If you open the Chromium with a large number of tabs, everything starts to slow down. Normal performance is restored only when tab processes are destroyed.

Switching between programs can take half a minute, launching new ones takes even longer. Minimize all windows too. Since there is no constant full processor load, I suppose this is all done using the paging file. Is it possible to make the main system programs (everything related to hotkeys: Alt + Tab, Win + D, volume control) not unloaded into the paging file? Or is there some other reason?

Perhaps there are other ways to solve the problem?

ps axo pid,comm,rss,pmem,pcpu --sort -rss 
  PID COMMAND RSS %MEM %CPU 2784 chromium-browse 347832 4.2 23.8 3898 chromium-browse 302528 3.7 5.4 3910 chromium-browse 255556 3.1 3.9 3007 chromium-browse 246132 3.0 5.4 2557 firefox 241204 2.9 14.0 3925 chromium-browse 239340 2.9 4.4 3821 chromium-browse 224332 2.7 3.5 3093 chromium-browse 221144 2.7 3.4 3387 chromium-browse 217460 2.6 3.2 3601 chromium-browse 216952 2.6 4.1 3847 chromium-browse 213476 2.6 3.6 3052 chromium-browse 208488 2.5 16.8 3138 chromium-browse 186372 2.3 2.1 4794 chromium-browse 185312 2.2 3.4 3009 chromium-browse 185212 2.2 2.6 3070 chromium-browse 179160 2.2 2.8 4035 chromium-browse 173048 2.1 3.4 3291 chromium-browse 171420 2.1 2.7 3005 chromium-browse 167076 2.0 4.6 3651 chromium-browse 165884 2.0 2.6 3011 chromium-browse 163760 2.0 2.9 3214 chromium-browse 159504 1.9 2.2 3313 chromium-browse 156400 1.9 2.6 3370 chromium-browse 153920 1.9 2.6 3677 chromium-browse 151452 1.8 3.5 3795 chromium-browse 150900 1.8 3.4 3853 chromium-browse 147060 1.8 2.1 4457 chromium-browse 147016 1.8 2.0 3115 chromium-browse 146744 1.8 1.8 3190 chromium-browse 145876 1.8 1.8 4053 chromium-browse 142608 1.7 1.7 3553 chromium-browse 139024 1.7 2.4 3741 chromium-browse 138420 1.7 3.1 4147 chromium-browse 134016 1.6 2.3 3003 chromium-browse 130128 1.6 3.9 3382 chromium-browse 126124 1.5 2.1 3489 chromium-browse 123520 1.5 1.5 3512 chromium-browse 119020 1.4 1.8 3839 chromium-browse 115236 1.4 1.7 3054 chromium-browse 115108 1.4 0.2 3965 chromium-browse 114780 1.4 1.7 3778 chromium-browse 112856 1.3 1.6 3361 chromium-browse 112200 1.3 1.9 3429 chromium-browse 112080 1.3 1.8 3789 chromium-browse 102536 1.2 1.4 5118 chromium-browse 102208 1.2 1.0 3715 chromium-browse 100156 1.2 1.2 3171 chromium-browse 97388 1.2 1.2 3733 chromium-browse 95408 1.1 1.9 2888 chromium-browse 94212 1.1 33.5 3827 chromium-browse 93940 1.1 1.1 4340 chromium-browse 92336 1.1 0.7 3569 chromium-browse 87244 1.0 0.6 5207 chromium-browse 86800 1.0 1.1 3644 chromium-browse 85632 1.0 1.5 5385 chromium-browse 85324 1.0 1.5 3383 chromium-browse 84848 1.0 1.5 5326 chromium-browse 84448 1.0 1.3 4511 chromium-browse 84440 1.0 1.2 3505 chromium-browse 84296 1.0 1.1 5489 chromium-browse 83724 1.0 13.6 3607 chromium-browse 82160 1.0 1.3 5246 chromium-browse 81216 1.0 1.1 3160 chromium-browse 78652 0.9 1.1 2329 cinnamon 77780 0.9 3.3 3609 chromium-browse 75408 0.9 1.5 5307 chromium-browse 71652 0.8 0.7 3508 chromium-browse 69124 0.8 1.2 3993 chromium-browse 63548 0.7 0.6 3401 chromium-browse 40016 0.4 0.5 1333 Xorg 37780 0.4 4.0 2649 plugin-containe 16544 0.2 2.2 2551 gnome-system-mo 12324 0.1 3.3 2818 chromium-browse 12216 0.1 0.0 2340 python 11540 0.1 0.4 2661 gnome-terminal 10156 0.1 0.2 2377 btsync-core 7800 0.0 0.1 1877 cinnamon-settin 6968 0.0 0.0 2820 chromium-browse 5768 0.0 0.0 2385 xneur 4908 0.0 0.0 2891 chromium-browse 4824 0.0 0.0 2345 nemo 4648 0.0 0.0 2346 nm-applet 4320 0.0 0.0 2417 mintUpdate 4276 0.0 0.0 2347 cinnamon-killer 3840 0.0 0.0 2327 cinnamon-launch 3768 0.0 0.0 2455 evolution-alarm 3744 0.0 0.0 2463 applet.py 3368 0.0 0.0 2443 cinnamon-screen 3104 0.0 0.0 1879 gnome-keyring-d 3056 0.0 0.0 2335 polkit-gnome-au 3000 0.0 0.0 1742 cinnamon-sessio 2688 0.0 0.0 5500 ps 2240 0.0 0.0 2413 mintupdate-laun 1856 0.0 0.0 2467 evolution-calen 1808 0.0 0.0 1323 mdm 1784 0.0 0.0 2349 gxneur 1700 0.0 0.1 1810 dbus-daemon 1564 0.0 0.0 2668 bash 1564 0.0 0.0 1893 pulseaudio 1480 0.0 0.2 1315 mdm 1420 0.0 0.0 2312 colord 1360 0.0 0.0 1263 NetworkManager 1240 0.0 0.0 1899 upowerd 1232 0.0 0.0 2371 gconfd-2 1232 0.0 0.0 2528 accounts-daemon 1224 0.0 0.0 1863 dbus-daemon 1172 0.0 0.0 2287 gvfs-udisks2-vo 1168 0.0 0.0 2290 udisksd 1160 0.0 0.0 1269 polkitd 1148 0.0 0.0 1671 console-kit-dae 1140 0.0 0.0 2097 nmbd 1128 0.0 0.0 2460 evolution-sourc 1124 0.0 0.0 883 ModemManager 1092 0.0 0.0 2389 gvfsd-trash 1068 0.0 0.0 1866 at-spi2-registr 1064 0.0 0.0 2524 dconf-service 1060 0.0 0.0 2365 gvfsd-metadata 1040 0.0 0.0 1859 at-spi-bus-laun 1036 0.0 0.0 2121 gvfsd 1016 0.0 0.0 2156 gvfsd-fuse 968 0.0 0.0 1286 smbd 956 0.0 0.0 1816 dnsmasq 936 0.0 0.0 2299 gvfs-afc-volume 900 0.0 0.0 681 cupsd 876 0.0 0.0 2308 gvfs-gphoto2-vo 860 0.0 0.0 1147 irqbalance 832 0.0 0.0 1226 kerneloops 820 0.0 0.0 2304 gvfs-mtp-volume 768 0.0 0.0 774 systemd-logind 760 0.0 0.0 1 init 756 0.0 0.0 419 systemd-udevd 704 0.0 0.0 1895 rtkit-daemon 660 0.0 0.0 577 dbus-daemon 656 0.0 0.0 402 upstart-udev-br 624 0.0 0.0 1007 getty 624 0.0 0.0 1531 dhclient 616 0.0 0.0 1649 getty 616 0.0 0.0 1026 getty 608 0.0 0.0 1009 getty 600 0.0 0.0 1015 getty 584 0.0 0.0 2507 csd-printer 572 0.0 0.0 1102 cups-browsed 568 0.0 0.0 1017 getty 564 0.0 0.0 1218 acpid 560 0.0 0.1 2667 gnome-pty-helpe 560 0.0 0.0 2095 winbindd 544 0.0 0.0 611 upstart-file-br 536 0.0 0.0 1330 smbd 476 0.0 0.0 905 upstart-socket- 456 0.0 0.0 2024 winbindd 456 0.0 0.0 1259 cron 424 0.0 0.0 671 rsyslogd 420 0.0 0.0 1545 nvidia-persiste 360 0.0 0.0 1809 dbus-launch 332 0.0 0.0 1585 teamviewerd 272 0.0 0.2 1302 smbd 236 0.0 0.0 649 bluetoothd 68 0.0 0.0 1806 ssh-agent 32 0.0 0.0 2 kthreadd 0 0.0 0.0 3 ksoftirqd/0 0 0.0 0.0 4 kworker/0:0 0 0.0 0.0 5 kworker/0:0H 0 0.0 0.0 6 kworker/u16:0 0 0.0 0.0 7 rcu_sched 0 0.0 0.1 8 rcu_bh 0 0.0 0.0 9 rcuos/0 0 0.0 0.0 10 rcuob/0 0 0.0 0.0 11 migration/0 0 0.0 0.0 12 watchdog/0 0 0.0 0.0 13 watchdog/1 0 0.0 0.0 14 migration/1 0 0.0 0.0 15 ksoftirqd/1 0 0.0 0.0 17 kworker/1:0H 0 0.0 0.0 18 rcuos/1 0 0.0 0.0 19 rcuob/1 0 0.0 0.0 20 watchdog/2 0 0.0 0.0 21 migration/2 0 0.0 0.0 22 ksoftirqd/2 0 0.0 0.0 23 kworker/2:0 0 0.0 0.0 24 kworker/2:0H 0 0.0 0.0 25 rcuos/2 0 0.0 0.0 26 rcuob/2 0 0.0 0.0 27 watchdog/3 0 0.0 0.0 28 migration/3 0 0.0 0.0 29 ksoftirqd/3 0 0.0 0.0 31 kworker/3:0H 0 0.0 0.0 32 rcuos/3 0 0.0 0.0 33 rcuob/3 0 0.0 0.0 34 khelper 0 0.0 0.0 35 kdevtmpfs 0 0.0 0.0 36 netns 0 0.0 0.0 37 perf 0 0.0 0.0 38 khungtaskd 0 0.0 0.0 39 writeback 0 0.0 0.0 40 ksmd 0 0.0 0.0 41 khugepaged 0 0.0 0.0 42 crypto 0 0.0 0.0 43 kintegrityd 0 0.0 0.0 44 bioset 0 0.0 0.0 45 kblockd 0 0.0 0.0 46 ata_sff 0 0.0 0.0 47 md 0 0.0 0.0 48 devfreq_wq 0 0.0 0.0 50 kworker/2:1 0 0.0 0.0 52 kswapd0 0 0.0 0.4 53 fsnotify_mark 0 0.0 0.0 54 ecryptfs-kthrea 0 0.0 0.0 66 kthrotld 0 0.0 0.0 68 kworker/1:1 0 0.0 0.0 70 acpi_thermal_pm 0 0.0 0.0 78 ipv6_addrconf 0 0.0 0.0 79 kworker/1:2 0 0.0 0.0 98 deferwq 0 0.0 0.0 99 charger_manager 0 0.0 0.0 172 scsi_eh_0 0 0.0 0.0 173 scsi_tmf_0 0 0.0 0.0 174 scsi_eh_1 0 0.0 0.0 175 scsi_tmf_1 0 0.0 0.0 176 scsi_eh_2 0 0.0 0.0 177 scsi_tmf_2 0 0.0 0.0 178 scsi_eh_3 0 0.0 0.0 179 scsi_tmf_3 0 0.0 0.0 180 scsi_eh_4 0 0.0 0.0 181 scsi_tmf_4 0 0.0 0.0 182 scsi_eh_5 0 0.0 0.0 183 scsi_tmf_5 0 0.0 0.0 186 kworker/u16:5 0 0.0 0.0 277 jbd2/sdb2-8 0 0.0 0.0 278 ext4-rsv-conver 0 0.0 0.0 406 kworker/0:1H 0 0.0 0.0 486 edac-poller 0 0.0 0.0 490 irq/29-mei_me 0 0.0 0.0 557 kworker/1:1H 0 0.0 0.0 559 hd-audio1 0 0.0 0.0 560 hd-audio0 0 0.0 0.0 609 kvm-irqfd-clean 0 0.0 0.0 631 kmpathd 0 0.0 0.0 632 kmpath_handlerd 0 0.0 0.0 661 krfcommd 0 0.0 0.0 1359 kworker/2:1H 0 0.0 0.0 1537 iprt-VBoxWQueue 0 0.0 0.0 1538 iprt-VBoxTscThr 0 0.0 0.0 1668 kauditd 0 0.0 0.0 2416 sh 0 0.0 0.0 2660 kworker/3:1H 0 0.0 0.0 2706 kworker/0:2 0 0.0 0.0 2980 kworker/3:6 0 0.0 0.0 2981 kworker/3:7 0 0.0 0.0 3958 kworker/u16:1 0 0.0 0.0 

(UPD) Still managed to take a screenshot from the System Monitor (data may differ from the output above and the following screen):

Screenshot from another session

And a screenshot of the System Monitor, which could be done only after nailing the chromiums (but you can see the step with a decrease in memory consumption):

System monitor after nailing chrome tabs

Linux Mint Cinnamon 17.3 x64
Chromium 51.0.2704.79

  • My Mint also slowed down, I changed it to Ubuntu and in general there are no problems with anything - user33274
  • @Geyan, nothing slows me down if Chromium doesn’t run with so many tabs. As you can see, in the list there are 71 chromium-browser with a total memory consumption of about 114% and 228% of the processor (summed up the list in question). By the way, is the limit of 400% for the processor (each core is 100%) or what? - Qwertiy
  • I didn’t plunge so much deep into Lin, I have Ubunt worth it and there is no price for her - user33274
  • @Geyan, if you open the chromicm with about 300 tabs, will it not be a brake anyway? A RAM 8 or more? - Qwertiy
  • Ozu 16 gbb, I do not open so much - a maximum of 34 opened - user33274

1 answer 1

think about how the operating system works: it has virtual memory (physical + swap partition - there is no 'swap file' in Linux) to enable multitasking, the system switches between all open applications.

Let's say you chrome eats 9 gigs, and the rest of the system - 4 gigabytes.

and you have 12 gigs.

you open a bunch of tabs, eat 9 gigs, then what begins? Approximately: the system starts to unload unused and unchanged pages on the disk, everything starts to slow down.

at this time you switch to sound control or some process of ubunt rises to check your status, since it is flushed to disk, everything starts to slow down. then the system switches to chrome, because chrome also has its own engine and it does not sleep, and starts pumping its pages from the disk.

no, no way. except black magic. put yourself more memory. and read about computer architecture

ps do not forget that in Linux there is still a whole layer between user input / output - and this is Xorg . The client / server model is not very suitable for a local computer, although for network applications / terminals of previous years it was fine - try wayland (if you can) or something like that. In Windows, such heavy middlemen simply do not exist, the GUI / input there is much more integrated with the kernel and drivers.

Maybe it's easier for you to optimize chrome, there are extensions that tabs close / put to sleep, something like The Great Suspender

  • Here is a wonderful description of the Windows memory model . If there is something similar about Linux, I will be glad to read. Farther. In Windows, problems with this number of tabs are much less. Yes, the programs also slow down. But all sorts of Alt + Tab work much more adequate. As far as I understand, this is due to the fact that some pages are marked non-downloadable and the system is able to process some things without loading pages from the paging file. Why in Linux is not the same? Is it possible to make it the same? Set some process parameters? A priority? Something else? - Qwertiy
  • You can set the shell and window manager higher priority. I do not know how much this will help. in general, optimization tips are wiki.archlinux.org/index.php/maximizing_performance but not so detailed. Why do you need so many chrome tabs? cpulimit can limit cpu consumption by process. but overall the brakes won't go away, I guess. besides, how do we know, maybe your video driver may not work well- > gui slows down even more - strangeqargo
  • It's just that they somehow accumulate in me ... In Windows, strong problems begin after 1000 tabs, and in a polite for some reason after 300. Although Google has chrome in Windows, and then chromium - maybe it also somehow affects ... read the article now. - Qwertiy
  • Is it possible in more detail about Xorg? - Qwertiy
  • updated the answer slightly. - strangeqargo 8:57 pm