* 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.
Related open issues - #2245, #1907
The test machine
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
Baseline ps aux output for nemo after running
nemo -q; nemoThen quit nemo, cleared the thumbnail cache and restarted nemo directly on the target folder.
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
ps aux output for nemo having navigated back to parent folder
ps aux output for nemo displaying the thumbnailed folder again.
Load times on 2nd view
Then quit nemo and reopened.
ps aux output for nemo displaying the thumbnailed folder from a fresh start
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
Then quit nemo, cleared the thumbnail cache and restarted nemo directly on the target folder.
ps aux output for nemo having thumbnailed all 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 -qI then reloaded the folder.
ps aux output for nemo displaying the thumbnailed folder from a fresh start
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
Loading of the pics folder was excessive this time and nemo was unresponsive once loading at finished
ps aux output for nemo displaying the thumbnailed folder again.
I then quit nemo with
nemo-qand 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.
I then toggled thumbnail visibility to off
Then back on. There was quite a lengthy delay before all thumbnails were reloaded.
Noting the increased RAM usage I then toggled off again
And back on
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.
Related open issues - #2245, #1907