Description
* Nemo version 4.4.2
* Is issue with desktop or windowed nemo? Window
* Distribution - Mint 19.3
The test machine
steve@steve-Inspiron-5580:~$ inxi -SDMGCmxxxz
System: Host: steve-Inspiron-5580 Kernel: 5.0.0-37-generic x86_64 bits: 64 compiler: gcc v: 7.4.0
Desktop: Cinnamon 4.4.6 wm: muffin 4.4.2 dm: LightDM 1.26.0 Distro: Linux Mint 19.3 Tricia
base: Ubuntu 18.04 bionic
Machine: Type: Laptop System: Dell product: Inspiron 5580 v: N/A serial: <filter> Chassis: type: 10
serial: <filter>
Mobo: Dell model: 0K0DFT v: A00 serial: <filter> UEFI: Dell v: 2.4.0 date: 07/02/2019
Memory: RAM: total: 7.51 GiB used: 1.19 GiB (15.9%)
RAM Report: permissions: Unable to run dmidecode. Root privileges required.
CPU: Topology: Quad Core model: Intel Core i5-8265U bits: 64 type: MT MCP arch: Kaby Lake rev: B
L2 cache: 6144 KiB
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 28800
Speed: 800 MHz min/max: 400/3900 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 801 6: 800 7: 800
8: 800
Graphics: Device-1: Intel vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:3ea0
Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa DRI Intel UHD Graphics (Whiskey Lake 3x8 GT2) v: 4.5 Mesa 19.0.8 compat-v: 3.0
direct render: Yes
Drives: Local Storage: total: 1.14 TiB used: 882.34 GiB (75.4%)
ID-1: /dev/nvme0n1 vendor: Toshiba model: KBG40ZNS256G NVMe 256GB size: 238.47 GiB speed: 31.6 Gb/s
lanes: 4 serial: <filter> rev: 10410101 scheme: GPT
ID-2: /dev/sda type: USB vendor: Seagate model: Expansion size: 931.51 GiB serial: <filter> rev: 060E
scheme: MBR
Issue
I reported during the beta Nemo being killed by the OOM controller whilst thumbnailing a folder of 21K image symlinks on a limited ram (2GB) virtual machine and have noted thumbnailing related performance issues for sometime. Several open issues regarding nemo peformance in general I think are related to thumbnailing and also memory use of nemo when navigating folders which large numbers of already thumbnailed images. I thought it might be helpful to try and benchmark some behaviour. These tests are done on the host machine specs above. The folders are on the SSD.
Test 1 - Thumbnail generation on a folder of 1000 jpg images in icon view at maximum zoom
Directory info
steve@steve-Inspiron-5580:~$ gio info /home/steve/Nemo_Test/1000_pics | grep metadata
metadata::nemo-default-view: OAFIID:Nemo_File_Manager_Icon_View
metadata::nemo-icon-view-zoom-level: 6
steve@steve-Inspiron-5580:~$ du --si ~/Nemo_Test/1000_pics
3.0G /home/steve/Nemo_Test/1000_pics
Baseline ps aux output for nemo after running nemo -q; nemo
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 30633 6.9 1.0 1012356 82188 pts/0 Sl+ 10:07 0:01 nemo
Then quit nemo, cleared the thumbnail cache and restarted nemo directly on the target folder.
steve@steve-Inspiron-5580:~$ nemo -q
steve@steve-Inspiron-5580:~$ rm -r ~/.cache/thumbnails
steve@steve-Inspiron-5580:~$ NEMO_BENCHMARK_LOADING=1 nemo /home/steve/Nemo_Test/1000_pics
** (nemo:28710): WARNING **: 10:12:55.113: Current gtk theme is not known to have nemo support (Cinnamox-Rhino) - checking...
Initializing nemo-image-converter extension
Nemo startup time: 1.133658 seconds
Folder load time: 0.396640 seconds
Idle...Folder load time: 0.567926 seconds
Nemo remained responsive and allowed me to scroll up and down the folder a little during thumbnailing.
ps aux output for nemo having thumbnailed all pics
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 28710 82.2 8.1 1547796 642060 pts/0 Sl+ 10:12 1:43 nemo /home/steve/Nemo_Test/1000_pics
ps aux output for nemo having navigated back to parent folder
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 28710 31.7 1.8 1013740 147792 pts/0 Sl+ 10:12 1:46 nemo /home/steve/Nemo_Test/1000_pics
ps aux output for nemo displaying the thumbnailed folder again.
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 28710 29.6 5.5 1310380 439148 pts/0 Rl+ 10:12 1:57 nemo /home/steve/Nemo_Test/1000_pics
Load times on 2nd view
Folder load time: 5.327696 seconds
Idle...Folder load time: 5.424941 seconds
Then quit nemo and reopened.
steve@steve-Inspiron-5580:~$ NEMO_BENCHMARK_LOADING=1 nemo /home/steve/Nemo_Test/1000_pics
** (nemo:5955): WARNING **: 10:24:25.737: Current gtk theme is not known to have nemo support (Cinnamox-Rhino) - checking...
Initializing nemo-image-converter extension
Nemo startup time: 6.736869 seconds
Folder load time: 5.945852 seconds
Idle...Folder load time: 6.042008 seconds
ps aux output for nemo displaying the thumbnailed folder from a fresh start
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 5955 42.7 5.2 1275420 410260 pts/0 Sl+ 10:24 0:44 nemo /home/steve/Nemo_Test/1000_pics
I then had a quick look at the thumbnail cache and notes that the time difference between the first and last thumbnail produced was 1m 34 seconds.
Test 2 - Thumbnail generation on a folder of 5000 images
Directory info
steve@steve-Inspiron-5580:~$ gio info /home/steve/Nemo_Test/5000_pics | grep metadata
metadata::nemo-default-view: OAFIID:Nemo_File_Manager_Icon_View
metadata::nemo-icon-view-zoom-level: 6
steve@steve-Inspiron-5580:~$ du --si ~/Nemo_Test/5000_pics
15G /home/steve/Nemo_Test/5000_pics
Then quit nemo, cleared the thumbnail cache and restarted nemo directly on the target folder.
steve@steve-Inspiron-5580:~$ NEMO_BENCHMARK_LOADING=1 nemo /home/steve/Nemo_Test/5000_pics
** (nemo:22298): WARNING **: 10:37:50.665: Current gtk theme is not known to have nemo support (Cinnamox-Rhino) - checking...
Initializing nemo-image-converter extension
Nemo startup time: 2.115366 seconds
Folder load time: 1.362390 seconds
Idle...Folder load time: 1.621272 seconds
** (gdk-pixbuf-thumbnailer:14550): WARNING **: 10:40:50.355: Could not thumbnail 'file:///home/steve/Nemo_Test/5000_pics/Family_080223_230.JPG': Error interpreting JPEG image file (Not a JPEG file: starts with 0x00 0x00)
(nemo:22298): CinnamonDesktop-WARNING **: 10:40:50.357: Error creating thumbnail for file:///home/steve/Nemo_Test/5000_pics/Family_080223_230.JPG: Error interpreting JPEG image file (Not a JPEG file: starts with 0x00 0x00)
** (gdk-pixbuf-thumbnailer:14553): WARNING **: 10:40:50.428: Could not thumbnail 'file:///home/steve/Nemo_Test/5000_pics/Family_080223_231.JPG': Error interpreting JPEG image file (Not a JPEG file: starts with 0x00 0x00)
(nemo:22298): CinnamonDesktop-WARNING **: 10:40:50.428: Error creating thumbnail for file:///home/steve/Nemo_Test/5000_pics/Family_080223_231.JPG: Error interpreting JPEG image file (Not a JPEG file: starts with 0x00 0x00)
ps aux output for nemo having thumbnailed all pics
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 22298 89.6 23.7 2758336 1866576 pts/0 Sl+ 10:37 13:09 nemo /home/steve/Nemo_Test/5000_pics
Thumbnailing took about 13 minutes. Nemo became unresponsive towards the end of the process and didn't recover so I was forced to nemo -q
I then reloaded the folder.
steve@steve-Inspiron-5580:~$ NEMO_BENCHMARK_LOADING=1 nemo /home/steve/Nemo_Test/5000_pics
** (nemo:19151): WARNING **: 10:55:26.031: Current gtk theme is not known to have nemo support (Cinnamox-Rhino) - checking...
Initializing nemo-image-converter extension
Nemo startup time: 27.819082 seconds
Folder load time: 26.968501 seconds
Idle...Folder load time: 27.900667 seconds
ps aux output for nemo displaying the thumbnailed folder from a fresh start
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 19151 105 21.2 2615300 1673416 pts/0 Rl+ 10:55 1:07 nemo /home/steve/Nemo_Test/5000_pics
There was no lockup this time so I navigated to the parent folder and back again
ps aux output for nemo having navigated back to parent folder
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 19151 103 4.8 1324892 382804 pts/0 Sl+ 10:55 3:06 nemo /home/steve/Nemo_Test/5000_pics
Loading of the pics folder was excessive this time and nemo was unresponsive once loading at finished
Folder load time: 167.125083 seconds
Idle...Folder load time: 183.289171 seconds
ps aux output for nemo displaying the thumbnailed folder again.
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 19151 92.7 22.5 2714828 1772496 pts/0 Rl+ 10:55 8:57 nemo /home/steve/Nemo_Test/5000_pics
I then quit nemo with nemo-q
and then reopened to check the thumbnail cache. The time difference between the oldest and newest thumbnail was 10m 34 seconds.
Test 3 - The effect of toggling thumbnail visibility on an already thumbnailed folder.
I did this test on the 1000 pic directory given the lock-ups experienced just thumbnailing the 500 pic directory. First I opened the directory in nemo and allowed it to complete thumbnailing before quiting nemo. Then opened the folder from a fresh start.
steve@steve-Inspiron-5580:~$ NEMO_BENCHMARK_LOADING=1 nemo /home/steve/Nemo_Test/1000_pics
** (nemo:29637): WARNING **: 11:16:41.953: Current gtk theme is not known to have nemo support (Cinnamox-Rhino) - checking...
Initializing nemo-image-converter extension
Nemo startup time: 6.781645 seconds
Folder load time: 6.008563 seconds
Idle...Folder load time: 6.013613 seconds
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 29637 107 5.2 1355564 412516 pts/0 Rl+ 11:16 0:44 nemo /home/steve/Nemo_Test/1000_pics
I then toggled thumbnail visibility to off
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 29637 60.9 2.9 1159900 230652 pts/0 Sl+ 11:16 0:46 nemo /home/steve/Nemo_Test/1000_pics
Then back on. There was quite a lengthy delay before all thumbnails were reloaded.
teve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 29637 61.4 7.6 1603940 602520 pts/0 Sl+ 11:16 1:47 nemo /home/steve/Nemo_Test/1000_pics
Noting the increased RAM usage I then toggled off again
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 29637 49.1 3.0 1173596 242400 pts/0 Sl+ 11:16 1:53 nemo /home/steve/Nemo_Test/1000_pics
And back on
steve@steve-Inspiron-5580:~$ ps aux | grep nemo |grep -Ev "grep|desktop"
steve 29637 56.7 7.2 1561980 573360 pts/0 Rl+ 11:16 3:05 nemo /home/steve/Nemo_Test/1000_pics
Hopefully this is helpful info in identifying bottlenecks. I was disappointed to find that 5000 pics was enough to lock up nemo entirely as I don't think that is a particularly extreme number of pictures to have in a folder.
I'll keep the the two test folders as is so if there in any further testing that would be helpful let me know.