Debugging NFS mounts and Thunar

Hi,

After years on Ubuntu/Mint with XFCE, I recently switched to Manjaro.

I had very inconsistent behaviour with my NFS mounts at cold boot through fstab, so I switched to systemd, as pointed out in this topic

Now my mounts work flawlessly, but Thunar starts to behave strange.
It shows all mounts 3 times in the side pane in tree view and, a bit more annoying, Thunar is sometimes very laggy on opening.
It seems like it tries to open all my NFS shares a few times, causing my system to freeze for a good 10-20 seconds.
It mounts the NFS shares to a folder in my home folder, but also as a device AND a folder in the “Device” section of the side pane.

I narrowed it down to the view on the side pane. In “tree view”, it is laggy. In shortcut view, it is snappy.

Is there any way to stop Thunar adding my NFS shares in the devices section?

Any help or tips would be appreciated.
Thanks.

Edit: System info added.

System:
  Kernel: 6.1.1-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1-x86_64
    root=UUID=0452ec66-9dfe-4e8f-8dd5-40ca1647621b rw quiet splash apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: Xfce v: 4.18.0 tk: Gtk v: 3.24.35 info: xfce4-panel wm: xfwm
    v: 4.18.0 vt: 7 dm: LightDM v: 1.32.0 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Intel model: DH77EB v: AAG39073-304
    serial: <superuser required> UEFI: Intel v: EBH7710H.86A.0103.2014.1015.1532
    date: 10/15/2014
Battery:
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse M315/M235
    serial: <filter> charge: 55% (should be ignored) rechargeable: yes
    status: discharging
Memory:
  RAM: total: 15.59 GiB used: 1.73 GiB (11.1%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: Intel Core i7-3770 bits: 64 type: MT MCP arch: Ivy Bridge
    gen: core 3 level: v2 built: 2012-15 process: Intel 22nm family: 6
    model-id: 0x3A (58) stepping: 9 microcode: 0x21
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 2579 high: 3900 min/max: 1600/3900 scaling:
    driver: intel_cpufreq governor: schedutil cores: 1: 1603 2: 2536 3: 3900
    4: 1600 5: 1600 6: 3900 7: 1600 8: 3900 bogomips: 54423
  Flags: acpi aes aperfmperf apic arat arch_perfmon avx bts clflush cmov
    constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb
    ept erms est f16c flexpriority flush_l1d fpu fsgsbase fxsr ht ibpb ibrs
    ida lahf_lm lm mca mce md_clear mmx monitor msr mtrr nonstop_tsc nopl nx
    pae pat pbe pcid pclmulqdq pdcm pebs pge pln pni popcnt pse pse36 pti pts
    rdrand rdtscp rep_good sep smep smx ss ssbd sse sse2 sse4_1 sse4_2 ssse3
    stibp syscall tm tm2 tpr_shadow tsc tsc_deadline_timer vme vmx vnmi vpid
    x2apic xsave xsaveopt xtopology xtpr
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
    vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data status: Unknown: No mitigations
  Type: retbleed status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
    STIBP: conditional, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Vulnerable: No microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA GP108 [GeForce GT 1030] vendor: Micro-Star MSI
    driver: nvidia v: 525.60.11 alternate: nouveau,nvidia_drm non-free: 525.xx+
    status: current (as of 2022-12) arch: Pascal code: GP10x process: TSMC 16nm
    built: 2016-21 pcie: gen: 3 speed: 8 GT/s lanes: 4 bus-ID: 01:00.0
    chip-ID: 10de:1d01 class-ID: 0300
  Display: x11 server: X.Org v: 21.1.6 compositor: xfwm v: 4.18.0 driver: N/A
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.00x11.26")
    s-diag: 583mm (22.95")
  Monitor-1: DP-0 res: 1920x1080 hz: 60 dpi: 103
    size: 475x267mm (18.7x10.51") diag: 545mm (21.45") modes: N/A
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo missing.
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:1e20
    class-ID: 0403
  Device-2: NVIDIA GP108 High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 4
    bus-ID: 01:00.1 chip-ID: 10de:0fb8 class-ID: 0403
  Sound API: ALSA v: k6.1.1-1-MANJARO running: yes
  Sound Server-1: JACK v: 1.9.21 running: no
  Sound Server-2: PulseAudio v: 16.1 running: yes
  Sound Server-3: PipeWire v: 0.3.63 running: yes
Network:
  Device-1: Intel 82579V Gigabit Network driver: e1000e v: kernel port: f040
    bus-ID: 00:19.0 chip-ID: 8086:1503 class-ID: 0200
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  Device-2: Intel 82574L Gigabit Network driver: e1000e v: kernel pcie:
    gen: 1 speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 03:00.0 chip-ID: 8086:10d3
    class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
  WAN IP: <filter>
Bluetooth:
  Device-1: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) type: USB
    driver: btusb v: 0.8 bus-ID: 2-1.5.4:6 chip-ID: 0a12:0001 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 465.76 GiB used: 81.94 GiB (17.6%)
  ID-1: /dev/sda maj-min: 8:0 vendor: Crucial model: CT500MX500SSD1
    size: 465.76 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 043 scheme: GPT
  SMART Message: Unknown smartctl error. Unable to generate data.
  Optical-1: /dev/sr0 vendor: HL-DT-ST model: DVDRAM GH24NS90 rev: IN01
    dev-links: cdrom
  Features: speed: 12 multisession: yes audio: yes dvd: yes
    rw: cd-r,cd-rw,dvd-r,dvd-ram state: running
Partition:
  ID-1: / raw-size: 150.4 GiB size: 146.98 GiB (97.73%) used: 81.94 GiB (55.7%)
    fs: ext4 block-size: 4096 B dev: /dev/sda3 maj-min: 8:3 label: N/A
    uuid: 0452ec66-9dfe-4e8f-8dd5-40ca1647621b
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 4.6 MiB (0.9%) fs: vfat block-size: 512 B dev: /dev/sda1 maj-min: 8:1
    label: N/A uuid: 3791-7201
Swap:
  Alert: No swap data was found.
Unmounted:
  ID-1: /dev/sda2 maj-min: 8:2 size: 314.86 GiB fs: ext4 label: N/A
    uuid: 669e2ba6-203d-407f-b241-eba0996d0a4c
USB:
  Hub-1: 1-0:1 info: Full speed or root hub ports: 2 rev: 2.0 speed: 480 Mb/s
    chip-ID: 1d6b:0002 class-ID: 0900
  Hub-2: 1-1:2 info: Intel Integrated Rate Matching Hub ports: 6 rev: 2.0
    speed: 480 Mb/s chip-ID: 8087:0024 class-ID: 0900
  Device-1: 1-1.4:3 info: Logitech Media Keyboard K200 type: Keyboard,HID
    driver: hid-generic,usbhid interfaces: 2 rev: 1.1 speed: 1.5 Mb/s power: 90mA
    chip-ID: 046d:c31d class-ID: 0300
  Hub-3: 2-0:1 info: Full speed or root hub ports: 2 rev: 2.0 speed: 480 Mb/s
    chip-ID: 1d6b:0002 class-ID: 0900
  Hub-4: 2-1:2 info: Intel Integrated Rate Matching Hub ports: 8 rev: 2.0
    speed: 480 Mb/s chip-ID: 8087:0024 class-ID: 0900
  Hub-5: 2-1.5:3 info: Microchip (formerly SMSC) USB 2.0 Hub ports: 4
    rev: 2.0 speed: 480 Mb/s power: 2mA chip-ID: 0424:2514 class-ID: 0900
  Device-1: 2-1.5.1:4 info: Logitech Unifying Receiver
    type: Keyboard,Mouse,HID driver: logitech-djreceiver,usbhid interfaces: 3
    rev: 2.0 speed: 12 Mb/s power: 98mA chip-ID: 046d:c52b class-ID: 0300
  Device-2: 2-1.5.3:5 info: DragonRise PC TWIN SHOCK Gamepad type: HID
    driver: dragonrise,usbhid interfaces: 1 rev: 1.0 speed: 1.5 Mb/s power: 500mA
    chip-ID: 0079:0006 class-ID: 0300
  Device-3: 2-1.5.4:6 info: Cambridge Silicon Radio Bluetooth Dongle (HCI
    mode) type: Bluetooth driver: btusb interfaces: 2 rev: 2.0 speed: 12 Mb/s
    power: 100mA chip-ID: 0a12:0001 class-ID: e001
  Hub-6: 3-0:1 info: Hi-speed hub with single TT ports: 4 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 3-3:2 info: Transcend Information microSD/SD/CF UHS-II Card
    Reader [RDF8 RDF9] type: Mass Storage driver: usb-storage interfaces: 1
    rev: 2.1 speed: 480 Mb/s power: 500mA chip-ID: 8564:4000 class-ID: 0806
    serial: <filter>
  Hub-7: 4-0:1 info: Super-speed hub ports: 4 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 47.0 C mobo: N/A gpu: nvidia temp: 41 C
  Fan Speeds (RPM): N/A gpu: nvidia fan: 35%
Info:
  Processes: 238 Uptime: 1h 37m wakeups: 4 Init: systemd v: 252
  default: graphical tool: systemctl Compilers: gcc: 12.2.0 clang: 14.0.6
  Packages: 1383 pm: pacman pkgs: 1360 libs: 415 tools: pamac pm: flatpak
  pkgs: 23 Shell: Bash v: 5.1.16 running-in: xfce4-terminal inxi: 3.3.24

Welcome to Manjaro! :smiling_face_with_three_hearts:

  1. Please read the information behind this link. It will help you to post necessary information. [HowTo] Provide System Information
  2. Please press the three dots … below your post and then press the :pencil2:
  • If you give us information about your system, we can see what we’re talking about and make better suggestions.
  • You can do this by using inxi in a terminal or in console.
inxi --admin --verbosity=7 --filter --no-host --width
  • Personally identifiable information such as serial numbers and MAC addresses are filtered out by this command
  • Presenting the information in this way allows everyone to be familiar with the format and quickly find the items they need without missing anything.
  1. Copy the output from inxi (including the command) and paste it into your post.
  • To make it more readable, add 3 backticks ``` on an extra line before and after the pasted text.
    (Wisdom lies in reading :wink: )

I am giving this topic a gentle kick, since I still have performance problems with my NFS shared folders on my Synology NAS.

I got over the Thunar problem, but randomly I see huge timeouts while accessing my NFS shared folders.

As you can see in the output of systemd-analyze blame, one of the folders takes 25 seconds to load, where the others are mounted in milliseconds.
This behaviour seems to worsen after a few hours of uptime and also is causing dialogs like “Save as…” to freeze.

Any help would be very much appreciated.

25.381s home-bert-Afbeeldingen.mount
 3.136s systemd-modules-load.service
 1.929s NetworkManager-wait-online.service
 1.140s dev-sda3.device
  813ms udisks2.service
  589ms snapd.service
  528ms systemd-udev-trigger.service
  483ms apparmor.service
  439ms systemd-remount-fs.service
  343ms systemd-tmpfiles-setup.service
  302ms home-bert-Downloads.mount
  288ms lightdm.service
  286ms systemd-tmpfiles-setup-dev.service
  275ms lvm2-monitor.service
  272ms modprobe@fuse.service
  248ms snapd.apparmor.service
  237ms accounts-daemon.service
  226ms tlp.service
  192ms user@1000.service
  135ms cups.service
  130ms upower.service
  130ms geoclue.service
  115ms home-bert-Video.mount
  109ms home-bert-Strips.mount
  106ms modprobe@drm.service
  106ms systemd-vconsole-setup.service
  103ms ModemManager.service
  100ms systemd-udevd.service
   99ms home-bert-Muziek.mount
   98ms home-bert-Boeken.mount
   98ms home-bert-Scans.mount
   92ms home-bert-Muziek_diversen.mount
   91ms systemd-binfmt.service
   87ms avahi-daemon.service
   84ms polkit.service
   83ms home-bert-Films.mount
   78ms systemd-logind.service
   76ms systemd-fsck@dev-disk-by\x2duuid-3791\x2d7201.service
   75ms home-bert-Documenten.mount
   63ms systemd-update-utmp.service
   62ms plymouth-quit.service
   60ms boot-efi.mount
   53ms systemd-user-sessions.service
   51ms systemd-journal-flush.service
   49ms dbus.service
   48ms systemd-journald.service
   47ms colord.service
   46ms plymouth-read-write.service
   46ms plymouth-start.service
   46ms plymouth-quit-wait.service
   46ms modprobe@configfs.service
   46ms kmod-static-nodes.service
   45ms NetworkManager.service
   40ms systemd-random-seed.service
   33ms ufw.service
   31ms user-runtime-dir@1000.service
   31ms bluetooth.service
   29ms systemd-sysctl.service
   28ms alsa-restore.service
   19ms modprobe@loop.service
   16ms wpa_supplicant.service
   12ms dev-hugepages.mount
   12ms dev-mqueue.mount
   12ms sys-kernel-debug.mount
   11ms sys-kernel-tracing.mount
    5ms sys-fs-fuse-connections.mount
    4ms sys-kernel-config.mount
    3ms rtkit-daemon.service
    3ms tmp.mount
    3ms var-log.mount
    2ms modprobe@dm_mod.service
    1ms proc-sys-fs-binfmt_misc.mount
  735us snapd.socket```

Hello @BertN :wink:

3 months later… :no_mouth:

So you mount it via fstab? What are the used options? Did you check the manual: man nfs ?

You need to add x-gvfs-hide to the options.

Hi @megavolt

I am a patient man :wink:

I am not mounting via fstab but via systemd with the following settings for each mount point, as suggested by linux-aarhus in https://forum.manjaro.org/t/nfs-mount-stopped-working/95248/7

[Unit]
Description=Afbeeldingen

[Mount]
What=192.168.0.142:/volume1/afbeeldingen
Where=/home/bert/Afbeeldingen
Type=nfs
Options=_netdev,vers=4,rsize=32768,wsize=32768
TimeoutSec=30

[Install]
WantedBy=multi-user.target

I am guessing your problem is related to your chosen mountpoints which all reside in your home.

For various reasons I have always used a dedicated structure outside home.

Your issue with slow booting can be one of several reasons - perhaps a combination.

  • If you have enabled the mount units - the boot will be delayed until network connection to your NAS is available - and automount will not work because the mount unit is active.

Only ever enable the automount unit - as this unit triggers when path is accessed and only then start the mount unit - the delay is barely noticable.

  • If you have something which tries to access the mount path before the NAS is available - this will also delay your boot.

This could - in theory - be triggered by the mountpoints being inside your home - but that is a guess.

As for Thunar - if I recall correct you have a preference option to hide devices from the left pane.

All right. Should be good, but does this still happen?

I can imagine that it freezes because of timeouts. Usually, it doesn’t wait 60sec on a disconnect (default: hard), which could lead to freezes on graphical file managers, but ensure data integrity. On the other side you can set soft, which lead to a timeout, but will not freeze the file manager.

More about it in the manual. Here a cutout:

       soft / hard    Determines the recovery behavior of the NFS client after an NFS request times out.   If  nei-
                      ther  option  is specified (or if the hard option is specified), NFS requests are retried in-
                      definitely.  If the soft option is specified, then the NFS client fails an NFS request  after
                      retrans  retransmissions  have  been  sent,  causing the NFS client to return an error to the
                      calling application.

                      NB: A so-called "soft" timeout can cause silent data corruption in certain  cases.  As  such,
                      use  the  soft  option only when client responsiveness is more important than data integrity.
                      Using NFS over TCP or increasing the value of the retrans option may  mitigate  some  of  the
                      risks of using the soft option.

Thunar is not laggy or freezing anymore, but it does freeze because the mounts seems not to be ready.

The strangest thing is, that I start seeing delays after my pc is already on for hours.

Does systemd unmount the NFS shares after not being accessed for a while?

If you set an automount unit like mentioned by @linux-aarhus, then yes. It will unmount it after 60sec of idle: TimeoutIdleSec=60.

You can increase the IdleTimeout to any value that suits your workflow e.g. 10m or 8h

Maybe that was even it…
I thought that the “timeoutsec” was a timeout for trying to mount.
I increased the time and I will wait to see if that helps.
Thanks

remember to reload the system daemon otherwise it won’t take effect until you have done a system restart.

systemctl daemon-reload