Fresh install - "disk sleep" entries in KSysGuard suspected to be causing unresponsiveness

So yesterday I reinstalled Manjaro KDE Plasma fresh… spent the majority of the day setting up all my applications and settings, created some backups, etc… and went to bed.

When I sat down to my PC this morning I shook the mouse to power up my monitors, logged in, and found myself unable to interact with much. Firefox and Thunderbird were unresponsive, couldn’t even close them… I didn’t notice it right away, but KSysGuard showed that some apps like Thunderbird listed “disk sleep” under CPU Utilization, and the System Load tab showed 3 cores were pinned at 100%.

So I thought I’d reboot, and found I couldn’t click the taskbar to bring up the menu… good thing Yakuake responded to the keyboard shortcut… typed in reboot and watched the slowest never ending screenful of text that I waited a while for before I hit the reset button.

Turned out that wasn’t an amazing idea… but created an opportunity to test out restoring my Timeshift and Back In Time backups… and thankfully the recovery looks good, but the original issue was obviously still at large.

I can’t remember what I searched for, but initially I found references to Power Management settings potentially playing a role and followed this archived post three areas of recommended changes.

  1. I hadn’t made any systemd changes the first install, but the changes were easy enough to make
  2. The Desktop Environment changes though did point out some things I done differently the second time around… I had only updated the “On AC Power” settings instead of all 3 tabs… and On Battery was set to Suspend Session via Sleep.
  • I even went one step further and made sure all 3 power sections had nothing to do with sleep/hibernate… including defining a “special behavior” under Activity Power Settings to “Never shutdown/sleep”
  1. I found the Kernel changes weren’t required at all in 21.07

I’ve let the screen energy saving kick in a couple times, but haven’t been away long enough to know if these changes are my solution.

I’d also bumped into this post which seemed to focus on the kernel as the fix, and ensuring to use the latest LTS kernel. Well, as far as I can tell I am on the latest LTS Kernel… 5.10.49-1-MANJARO (64-bit)

I can see that the 5.12.16-1 and 5.13.1-3 kernel are available in the Manjaro Settings Manager, but neither is LTS… and perhaps that isn’t a problem. Is there a way I can figure out if a newer non-LTS kernel would be a good choice or not? I know that 5.10 was released in Dec 2020… only a month or two after AMD released my CPU/GPU, so maybe the newer non-LTS kernels would bring more compatibility/stability improvements?

  • AMD Ryzen 5 5600X 6-Core Processor
  • AMD Radeon RX 6800 XT

Also… I think my MSI x570 Unify motherboard may have a new BIOS update… but how can I tell if the BIOS update might play a role in addressing this issue (and not cause other issues) when lately they seem to be “just” AGESA updates? Typically I would go for one that’s non-Beta like “Update to AMD ComboAM4PIV2 1.2.0.2” over a beta “Update to AMD ComboAM4PIV2 1.2.0.3b” choice… but is there something in the kernel change logs that could help me identify which would be the better option or if either would have an impact?

In addition to the Power Management changes I made yesterday, I also decided to download (and reboot to use) the 5.13.1-3 kernel after creating this post… it just seemed to make the most logical sense and easiest thing to do/try considering how “new” my CPU/GPU are… and as of first thing this morning, after unlocking my PC, there are no unresponsive “sleep disk” entries in KSysGuard… the only entries that did seem to flip intermittently between “unknown” and “disk sleep” were for kworker/u64:* entries… and since “kworker” is a placeholder process for kernel worker threads which (to my reading) perform most of the actual processing for the kernel (especially in cases where there are interrupts, timers, I/O, etc.) I’m calling what I see as “works as designed”.

Too soon to declare victory after only 10 hours… but a welcome sight. Doing two things at once doesn’t help determine if it was the new kernel or Power Management settings (or both) to give credit to… but I’ll console my curiosity with the shift in stability.

1 Like
  1. If you would run into issues in the future, please read this:
    How to provide good information
    and post some more information so we can see what’s really going on. Now we know the symptom of the disease, but we need some more probing to know where the origin lies… :grin:
  2. An inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information for us to be able to help you. (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)
    Also, please copy-paste that output in-between 3 backticks ``` at the beginning and end of the code/text.

:+1:

Thank you for your response Fabby!

Things have been looking really good since updating the kernel… have not had any unresponsive/locked applications since my previous post.

But sometimes looks can be deceiving, so here is the additional information in case anything stands out that may be a lurking issue requiring attention.

One thing I was curious about… assuming my reading/understanding is correct… is that is “sleep disk” is about paging out to the swap disk, how is that occuring when I don’t have a swap partition?

  Kernel: 5.13.1-3-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.13-x86_64 
  root=UUID=5d67a7c6-6cdf-446d-92f6-b7be1f0fb13d rw quiet apparmor=1 
  security=apparmor udev.log_priority=3 
  Desktop: KDE Plasma 5.22.3 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM 
  Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Desktop System: Micro-Star product: MS-7C35 v: 2.0 serial: <filter> 
  Mobo: Micro-Star model: MEG X570 UNIFY (MS-7C35) v: 2.0 serial: <filter> 
  UEFI: American Megatrends LLC. v: A.80 date: 01/22/2021 
Memory:
  RAM: total: 31.27 GiB used: 5.18 GiB (16.6%) 
  RAM Report: permissions: Unable to run dmidecode. Root privileges required. 
CPU:
  Info: 6-Core model: AMD Ryzen 5 5600X bits: 64 type: MT MCP arch: Zen 3 
  family: 19 (25) model-id: 21 (33) stepping: 0 microcode: A201009 cache: 
  L2: 3 MiB bogomips: 88844 
  Speed: 3593 MHz min/max: 2200/3700 MHz boost: enabled Core speeds (MHz): 
  1: 3593 2: 2198 3: 2199 4: 2728 5: 2889 6: 2862 7: 2869 8: 2879 9: 3238 
  10: 2819 11: 2878 12: 3597 
  Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avic avx avx2 bmi1 
  bmi2 bpext cat_l3 cdp_l3 clflush clflushopt clwb clzero cmov cmp_legacy 
  constant_tsc cpb cpuid cqm cqm_llc cqm_mbm_local cqm_mbm_total cqm_occup_llc 
  cr8_legacy cx16 cx8 de decodeassists erms extapic extd_apicid f16c 
  flushbyasid fma fpu fsgsbase fsrm fxsr fxsr_opt ht hw_pstate ibpb ibrs ibs 
  invpcid irperf lahf_lm lbrv lm mba mca mce misalignsse mmx mmxext monitor 
  movbe msr mtrr mwaitx nonstop_tsc nopl npt nrip_save nx ospke osvw 
  overflow_recov pae pat pausefilter pclmulqdq pdpe1gb perfctr_core 
  perfctr_llc perfctr_nb pfthreshold pge pku pni popcnt pse pse36 rdpid rdpru 
  rdrand rdseed rdt_a rdtscp rep_good sep sha_ni skinit smap smca smep ssbd 
  sse sse2 sse4_1 sse4_2 sse4a ssse3 stibp succor svm svm_lock syscall tce 
  topoext tsc tsc_scale umip v_spec_ctrl v_vmsave_vmload vaes vgif vmcb_clean 
  vme vmmcall vpclmulqdq wbnoinvd wdt xgetbv1 xsave xsavec xsaveerptr xsaveopt 
  xsaves 
  Vulnerabilities: Type: itlb_multihit status: Not affected 
  Type: l1tf status: Not affected 
  Type: mds status: Not affected 
  Type: meltdown status: Not affected 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, IBRS_FW, 
  STIBP: always-on, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] 
  vendor: XFX Limited XFX Speedster MERC 319 driver: amdgpu v: kernel 
  bus-ID: 2f:00.0 chip-ID: 1002:73bf class-ID: 0300 
  Display: x11 server: X.Org 1.20.11 compositor: kwin_x11 driver: 
  loaded: amdgpu,ati unloaded: modesetting,radeon alternate: fbdev,vesa 
  display-ID: :0 screens: 1 
  Screen-1: 0 s-res: 5277x1440 s-dpi: 96 s-size: 1396x381mm (55.0x15.0") 
  s-diag: 1447mm (57") 
  Monitor-1: DisplayPort-0 res: 2560x1440 hz: 144 dpi: 93 
  size: 697x392mm (27.4x15.4") diag: 800mm (31.5") 
  Monitor-2: DisplayPort-1 res: 2560x1440 hz: 144 dpi: 93 
  size: 697x392mm (27.4x15.4") diag: 800mm (31.5") 
  OpenGL: renderer: AMD Radeon RX 6800 XT (SIENNA_CICHLID DRM 3.41.0 
  5.13.1-3-MANJARO LLVM 12.0.0) 
  v: 4.6 Mesa 21.1.4 direct render: Yes 
Audio:
  Device-1: AMD Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT] 
  driver: snd_hda_intel v: kernel bus-ID: 2f:00.1 chip-ID: 1002:ab28 
  class-ID: 0403 
  Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI 
  driver: snd_hda_intel v: kernel bus-ID: 31:00.4 chip-ID: 1022:1487 
  class-ID: 0403 
  Device-3: Corsair CORSAIR VIRTUOSO SE USB Gaming Headset type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus-ID: 3-4:3 chip-ID: 1b1c:0a3d 
  class-ID: 0300 serial: <filter> 
  Sound Server-1: ALSA v: k5.13.1-3-MANJARO running: yes 
  Sound Server-2: JACK v: 0.125.0 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.31 running: yes 
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169 
  v: kernel port: f000 bus-ID: 27:00.0 chip-ID: 10ec:8125 class-ID: 0200 
  IF: enp39s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  IP v4: <filter> type: dynamic noprefixroute scope: global 
  broadcast: <filter> 
  IP v6: <filter> type: noprefixroute scope: link 
  WAN IP: <filter> 
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-4:2 
  chip-ID: 8087:0029 class-ID: e001 
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends 
Logical:
  Permissions: Unable to run lvs. Root privileges required. 
RAID:
  Hardware-1: HighPoint Device driver: mvsas v: 0.8.16 port: N/A 
  bus-ID: 24:00.0 chip-ID: 1103.2720 rev: 03 class-ID: 0104 
Drives:
  Local Storage: total: 17.51 TiB used: 631.77 GiB (3.5%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/nvme0n1 maj-min: 259:2 vendor: Western Digital 
  model: WDS100T1X0E-00AFY0 size: 931.51 GiB block-size: physical: 512 B 
  logical: 512 B speed: 63.2 Gb/s lanes: 4 rotation: SSD serial: <filter> 
  rev: 613000WD scheme: GPT 
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Western Digital 
  model: WDS100T3X0C-00SJG0 size: 931.51 GiB block-size: physical: 512 B 
  logical: 512 B speed: 31.6 Gb/s lanes: 4 rotation: SSD serial: <filter> 
  rev: 102000WD scheme: GPT 
  ID-3: /dev/nvme2n1 maj-min: 259:8 vendor: Western Digital 
  model: WDS100T1X0E-00AFY0 size: 931.51 GiB block-size: physical: 512 B 
  logical: 512 B speed: 63.2 Gb/s lanes: 4 rotation: SSD serial: <filter> 
  rev: 613000WD scheme: GPT 
  ID-4: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 840 EVO 250GB 
  size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s 
  rotation: SSD serial: <filter> rev: DB6Q scheme: GPT 
  ID-5: /dev/sdb maj-min: 8:16 vendor: Western Digital model: WD80EFAX-68KNBN0 
  size: 7.28 TiB block-size: physical: 4096 B logical: 512 B speed: <unknown> 
  rotation: 5400 rpm serial: <filter> rev: 0A81 scheme: GPT 
  ID-6: /dev/sdc maj-min: 8:32 vendor: Western Digital model: WD80EFAX-68KNBN0 
  size: 7.28 TiB block-size: physical: 4096 B logical: 512 B speed: <unknown> 
  rotation: 5400 rpm serial: <filter> rev: 0A81 scheme: GPT 
  Message: No optical or floppy data found. 
Partition:
  ID-1: / raw-size: 931.22 GiB size: 915.53 GiB (98.32%) 
  used: 305.07 GiB (33.3%) fs: ext4 dev: /dev/nvme2n1p2 maj-min: 259:10 
  label: N/A uuid: 5d67a7c6-6cdf-446d-92f6-b7be1f0fb13d 
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) 
  used: 292 KiB (0.1%) fs: vfat dev: /dev/nvme2n1p1 maj-min: 259:9 
  label: NO_LABEL uuid: B4AB-4594 
  ID-3: /data/evo840 raw-size: 232.88 GiB size: 228.17 GiB (97.98%) 
  used: 15.95 GiB (7.0%) fs: ext4 dev: /dev/sda1 maj-min: 8:1 
  label: SSD_TimeShift uuid: 1bbb2871-a304-4482-82e1-b4fda98cfeab 
  ID-4: /data/sn750 raw-size: 931.51 GiB size: 915.82 GiB (98.31%) 
  used: 310.74 GiB (33.9%) fs: ext4 dev: /dev/nvme1n1p1 maj-min: 259:1 
  label: SN750_DataBackup uuid: cf6b8b04-b6ae-4b54-a5e9-3dcb0b4595d5 
Swap:
  Alert: No swap data was found. 
Unmounted:
  ID-1: /dev/nvme0n1p1 maj-min: 259:3 size: 100 MiB fs: <superuser required> 
  label: SYSTEM uuid: 0E60-F44D 
  ID-2: /dev/nvme0n1p2 maj-min: 259:4 size: 16 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-3: /dev/nvme0n1p3 maj-min: 259:5 size: 930.02 GiB 
  fs: <superuser required> label: NVMe SN850 Boot uuid: 86DC8888DC887469 
  ID-4: /dev/nvme0n1p4 maj-min: 259:6 size: 528 MiB fs: <superuser required> 
  label: N/A uuid: D8E23C2BE23C0FEC 
  ID-5: /dev/nvme0n1p5 maj-min: 259:7 size: 881 MiB fs: <superuser required> 
  label: N/A uuid: 1ED2C230D2C20C49 
  ID-6: /dev/sdb1 maj-min: 8:17 size: 16 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-7: /dev/sdb2 maj-min: 8:18 size: 7.28 TiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-8: /dev/sdc1 maj-min: 8:33 size: 16 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-9: /dev/sdc2 maj-min: 8:34 size: 7.28 TiB fs: <superuser required> 
  label: Data_Mirror uuid: 2C8E96768E9637F2 
USB:
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 6 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 1-4:2 info: Intel AX200 Bluetooth type: Bluetooth driver: btusb 
  interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 100mA chip-ID: 8087:0029 
  class-ID: e001 
  Device-2: 1-5:3 info: Corsair CORSAIR SABRE RGB PRO Gaming Mouse 
  type: Mouse,HID driver: hid-generic,usbhid interfaces: 3 rev: 2.0 
  speed: 480 Mb/s power: 500mA chip-ID: 1b1c:1b79 class-ID: 0300 
  serial: <filter> 
  Hub-2: 1-6:4 info: Hi-speed hub with multiple TTs ports: 4 rev: 2.0 
  speed: 480 Mb/s chip-ID: 0000:0000 class-ID: 0900 
  Device-1: 1-6.1:5 info: Corsair Gaming MM800 RGB POLARIS type: HID,Keyboard 
  driver: hid-generic,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s 
  power: 500mA chip-ID: 1b1c:1b3b class-ID: 0301 serial: <filter> 
  Hub-3: 2-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.1 speed: 10 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Hub-4: 3-0:1 info: Full speed (or root) Hub ports: 6 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 3-1:2 info: Microsoft Xbox360 Controller type: <vendor specific> 
  driver: xpad interfaces: 4 rev: 2.0 speed: 12 Mb/s power: 500mA 
  chip-ID: 045e:028e class-ID: ff00 serial: <filter> 
  Device-2: 3-4:3 info: Corsair CORSAIR VIRTUOSO SE USB Gaming Headset 
  type: Audio,HID driver: hid-generic,snd-usb-audio,usbhid interfaces: 5 
  rev: 2.0 speed: 12 Mb/s power: 500mA chip-ID: 1b1c:0a3d class-ID: 0300 
  serial: <filter> 
  Device-3: 3-5:4 info: Micro Star MYSTIC LIGHT type: HID 
  driver: hid-generic,usbhid interfaces: 1 rev: 1.1 speed: 12 Mb/s 
  power: 500mA chip-ID: 1462:7c35 class-ID: 0300 serial: <filter> 
  Hub-5: 3-6:5 info: Genesys Logic Hub ports: 4 rev: 2.0 speed: 480 Mb/s 
  power: 100mA chip-ID: 05e3:0608 class-ID: 0900 
  Device-1: 3-6.3:6 info: Canon MF731C/733C type: Printer driver: usblp 
  interfaces: 3 rev: 2.0 speed: 480 Mb/s power: 2mA chip-ID: 04a9:27e5 
  class-ID: 0701 serial: <filter> 
  Device-2: 3-6.4:7 
  info: American Power Conversion Uninterruptible Power Supply type: HID 
  driver: hid-generic,usbhid interfaces: 1 rev: 1.1 speed: 1.5 Mb/s power: 2mA 
  chip-ID: 051d:0002 class-ID: 0300 serial: <filter> 
  Hub-6: 4-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.1 speed: 10 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Hub-7: 5-0:1 info: Full speed (or root) Hub ports: 1 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Hub-8: 6-0:1 info: Full speed (or root) Hub ports: 1 rev: 3.1 speed: 10 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Hub-9: 7-0:1 info: Full speed (or root) Hub ports: 4 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 7-1:2 info: Corsair K95 RGB Mechanical Gaming Keyboard 
  type: Keyboard,HID driver: hid-generic,usbhid interfaces: 2 rev: 2.0 
  speed: 12 Mb/s power: 500mA chip-ID: 1b1c:1b11 class-ID: 0300 
  serial: <filter> 
  Hub-10: 8-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.1 
  speed: 10 Gb/s chip-ID: 1d6b:0003 class-ID: 0900 
Sensors:
  System Temperatures: cpu: 39.5 C mobo: N/A gpu: amdgpu temp: 53.0 C 
  mem: 52.0 C 
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 0 
Info:
  Processes: 340 Uptime: 3d 15h 2m wakeups: 1 Init: systemd v: 248 
  tool: systemctl Compilers: gcc: 11.1.0 Packages: pacman: 1321 lib: 385 
  flatpak: 0 Shell: Bash v: 5.1.8 running-in: yakuake inxi: 3.3.05```

Please read this:

Note: As you never shared the exact warning message and how you got it, this could also be caused by the disk going to sleep because of power settings…

:crossed_fingers:

Thank you for your reply Fabby!

Yes, one of the default “System Settings” for Power Management => Energy Savings was set to “suspend session = Sleep” and I ended up disabling suspend session on all 3 of those tabs. Also, because I have a UPS attached via USB, I also adjusted Power Management => Advanced Power Settings by changing the “At critical level” to Shutdown.

After reading through your swap wiki share, I can see that having no swap file/disk isn’t really a good thing… that I need (with 32GB RAM) at minimum 6GB (or 38GB for hibernation) to a maximum of 64GB. I think it’d be best in my scenario to build a swap file and would appreciate your feedback on the file size. I don’t plan to hibernate, but I don’t want to assume the minimum of 6GB is all I’ll ever need either.

EDIT: Okay, I decided to create a 38GB swapfile. No, I don’t plan on enabling hibernation, but this gives me that option to change my mind and not waste as much disk space as jumping to the max of 64GB… and at the same time leaves me in a future-proof position to still meet the minimum if I ever go crazy and add more RAM.

sudo fallocate -l 38G /swapfile
sudo mkswap /swapfile
sudo chmod u=rw,go= /swapfile
sudo bash -c "echo /swapfile none swap defaults 0 0 >> /etc/fstab"
sudo sysctl vm.swappiness=10

and confirmed inxi --admin --verbosity=7 --filter --no-host --width swap details were updated…

Swap:
  Kernel: swappiness: 10 (default 60) cache-pressure: 100 (default) 
  ID-1: swap-1 type: file size: 38 GiB used: 0 KiB (0.0%) priority: -2 
  file: /swapfile 

Okay, looks like I still have an issue around sleeping… more specifically, I recalled using sudo systemctl suspend prior to making this post and finding that system completely froze after resuming.

So I thought it might be a good test to try that command again to see if the swap changes yielded a different result… nope, completely froze again, but I took a cell photo (turned out very grainy) to try capture some of the last entries in KSystemlog before I reset the PC.

I’m not 100% sure where the SCSI references are coming from, but suspect they may be related to the two hard drives I have connected to my HighPoint HBA RAID Controller that I don’t have a driver installed for yet, but can still access/mount the 2 drives of that mirror independently so I didn’t think having a driver installed yet was urgent (I have it’s data backed up on my NAS). I had planned to start another post to ask whether compiling the Driver from HPT’s website was a good path, or if HBA’s weren’t awesome in Linux and I should just look at moving them to the motherboard SATA connectors and implement a Linux based RAID-1/Mirror (not interested in AMD RAID).

EDIT: Yes, confirmed by another command I found online that ata3 and ata4 are indeed the two mechanical HD’s connected to the HPT HBA card…

sudo dmesg | grep ata
[    0.000000] BIOS-e820: [mem 0x00000000db069000-0x00000000db0ccfff] ACPI data
[    0.068861] Memory: 32687960K/33474168K available (14344K kernel code, 2075K rwdata, 9164K rodata, 1796K init, 4080K bss, 785948K reserved, 0K cma-reserved)
[    0.269851] libata version 3.00 loaded.
[    0.303970] ata1: SATA max UDMA/133 abar m2048@0xfc400000 port 0xfc400100 irq 49
[    0.304174] ata2: SATA max UDMA/133 abar m2048@0xfc300000 port 0xfc300100 irq 50
[    0.618451] ata1: SATA link down (SStatus 0 SControl 300)
[    0.785110] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    0.786976] ata2.00: supports DRM functions and may not be fully accessible
[    0.787379] ata2.00: disabling queued TRIM support
[    0.787380] ata2.00: ATA-9: Samsung SSD 840 EVO 250GB, EXT0DB6Q, max UDMA/133
[    0.787381] ata2.00: 488397168 sectors, multi 1: LBA48 NCQ (depth 32), AA
[    0.787960] ata2.00: supports DRM functions and may not be fully accessible
[    0.788360] ata2.00: disabling queued TRIM support
[    0.788781] ata2.00: configured for UDMA/133
[    0.812849] Write protecting the kernel read-only data: 26624k
[    0.813082] Freeing unused kernel image (text/rodata gap) memory: 2036K
[    0.813176] Freeing unused kernel image (rodata/data gap) memory: 1076K
[    0.834009] rodata_test: all tests were successful
[    7.527650] sas: ata3: end_device-2:0: dev error handler
[    7.687625] ata3.00: ATA-9: WDC WD80EFAX-68KNBN0, 81.00A81, max UDMA/133
[    7.687626] ata3.00: 15628053168 sectors, multi 0: LBA48 NCQ (depth 32)
[    7.697108] ata3.00: configured for UDMA/133
[    7.707389] sas: ata3: end_device-2:0: dev error handler
[    7.707391] sas: ata4: end_device-2:1: dev error handler
[    7.867598] ata4.00: ATA-9: WDC WD80EFAX-68KNBN0, 81.00A81, max UDMA/133
[    7.867600] ata4.00: 15628053168 sectors, multi 0: LBA48 NCQ (depth 32)
[    7.877117] ata4.00: configured for UDMA/133
[    8.571527] EXT4-fs (nvme2n1p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    8.731041] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
[   10.595407] EXT4-fs (nvme1n1p1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[   11.961342] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.

… and here is my lsblk in case it helps…

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 232.9G  0 disk 
└─sda1        8:1    0 232.9G  0 part /run/timeshift/backup
                                      /data/evo840
sdb           8:16   0   7.3T  0 disk 
├─sdb1        8:17   0    16M  0 part 
└─sdb2        8:18   0   7.3T  0 part 
sdc           8:32   0   7.3T  0 disk 
├─sdc1        8:33   0    16M  0 part 
└─sdc2        8:34   0   7.3T  0 part 
nvme0n1     259:0    0 931.5G  0 disk 
├─nvme0n1p1 259:1    0   100M  0 part 
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0   930G  0 part 
├─nvme0n1p4 259:4    0   528M  0 part 
└─nvme0n1p5 259:5    0   881M  0 part 
nvme2n1     259:6    0 931.5G  0 disk 
├─nvme2n1p1 259:7    0   300M  0 part /boot/efi
└─nvme2n1p2 259:8    0 931.2G  0 part /
nvme1n1     259:9    0 931.5G  0 disk 
└─nvme1n1p1 259:10   0 931.5G  0 part /data/sn750

Try:

hdparm -B255 /dev/nvme0
hdparm -B255 /dev/nvme1
hdparm -B255 /dev/nvme2
hdparm -B255 /dev/sda
hdparm -B255 /dev/sdb
hdparm -B255 /dev/sdc

to stop the disk from sleeping.

As some drives don’t allow a value of 255, try 254 for any drives where the above might fail.

And as this is yet another shot in the dark, please:

:man_shrugging:

Thank you for the reply Fabby.

My observations from KSysguard and KSystemlog are the closest things to messages I have been able to collect from a frozen/freezing system… This is really my first time giving Linux a thorough try to replace windows, so my sub 2 week experience hasn’t exposed any methods for digging deeper and providing anything more supportive that I have so far.

I’m willing to try your suggestion on the two mechanical drives connected to the HBA, but I’d also like to know what the command would be to reverse the change. I looked at the options/parameters from typing just hdparm and figured out how to pull some details, but it only tells me if “advanced power management” is enabled or not… and not the current/default value… and the options list stated -B only has a Set, no Get… which conflicts with the man… so I didn’t want to try a -B command without knowing for sure what it would do (set or get)

sudo hdparm -i /dev/sdb

/dev/sdb:

 Model=WDC WD80EFAX-68KNBN0, FwRev=81.00A81, SerialNo=VDH4R4KD
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=56
 BuffType=DualPortCache, BuffSize=unknown, MaxMultSect=16, MultSect=off
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=15628053168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: unknown:  ATA/ATAPI-2,3,4,5,6,7

 * signifies the current active mode

I also thought it was weird I could pull the details for /dev/sdb, but not /dev/sdc…

sudo hdparm -i /dev/sdc

/dev/sdc:
 HDIO_GET_IDENTITY failed: No message of desired type

Which is unexpected because either drive can be mounted/unmounted in Dolphin.

Once I know for sure Windows has been replaced by Linux (looking really good so far), I think I’ll pull the HBA and keep the mechanical drives disconnected until I figure out if I’m going the HBA Linux driver path or Linux RAID off direct SATA connections.

man hdparm

will answer all your questions.

:bowing_man:

As you seem to be new to Linux, this is another resource that will help you tremendously:

:grin:

1 Like

Okay… so when there is a discrepancy, always trust the man pages check!

$ sudo hdparm -B /dev/sdb

/dev/sdb:
 APM_level      = 164

$ sudo hdparm -B /dev/sdc

/dev/sdc:
 APM_level      = 164

Embracing the N00b link! :innocent:
Thank You!

1 Like

So back to my original:

  • 164 shouldn’t sleep (but apparently does)
  • 255 Definitely doesn’t sleep
  • 254 is the max some disks have

:stuck_out_tongue_winking_eye:

Therefore, I’ve marked this answer as the solution to your question as it is by far the best answer you’ll get.

However, if you disagree with my choice, please feel free to take any other answer as the solution to your question or even remove the solution altogether: You are in control! (If you disagree with my choice, just send me a personal message and explain why I shouldn’t have done this or :heart: or :+1: if you agree)

:innocent:
P.S. In the future, please don’t forget to come back and click the 3 dots below the answer to mark a solution like this below the answer that helped you most:
Solution
so that the next person that has the exact same problem you just had will benefit from your post as well as your question will now be in the “solved” status.

Yes, I see what you mean Fabby… according to the man…

A low value means aggressive power management and a high value means better performance.
Possible settings range from values 1 through 127 (which permit spin-down), and values 128 through 254 (which do not permit spin-down).
The highest degree of power management is attained with a setting of 1, and the highest I/O performance with a setting of 254.
A value of  255  tells  hdparm  to disable Advanced Power Management altogether on the drive (not all drives support disabling it, but most do).

Perhaps any value under 255 means that “APM is enabled” like I saw in the sudo hdparm -i /dev/sdb command… but you need to specifically look at sudo hdparm -B /dev/sdb to see whether the setting is in the ranges of “power management” (which permit spin-down) or “I/O performance” (which do not permit spin-down).

I think from my perspective, we have gone as far as we can in this thread for where I am right now (I’m going to make another thread to tackle the HBA Raid with driver compile versus Linux/Sata Raid when I am ready to tackle that monster). Everything being discussed now related to the mechanical drives on the HBA should be handled in it’s own thread/post, or likely within the HBA/RAID topic.

Like I mentioned earlier, I think the changes I made to “Power Management” (System Settings to disable suspend/sleep settings or flip then to shutdowm) and perhaps the new 5.13.1-3 kernel (which increased Steam game performance by 15-20% btw over 5.10) were a very good start to solving my “sleep disk” symptom when I was experiencing the (partially) frozen applications issue post morning login… but I think what you provided that helped flush that out one step further was creating the missing swap, and so I am going to mark that reply as the solution (btw… I didn’t see your other post marked as a solution)… how can the system swap anything to disk successfully when there is no swap file/partition?

Thank You!

It cannot and that’s why an alert is created when providing system info. If you run our of RAM, you’ll have random crashes and freezes, up to and including the entire system freezing.

When there is no swap, the user is responsible for monitoring RAM usage and adding more RAM when you run out of memory.

One last tip:

Execute:

sudo e /etc/sysctl.d/30-swap_usage.conf

and copy-paste this:

# Fabby: 2014-03-02: change "swappiness" from default 60 to 10:
#  Theoretically, only swap when RAM usage reaches around 80 or 90 percent
vm.swappiness = 10

# Fabby: 2014-11-29: Lower vm.vfs_cache_pressure to 75%
# (once cached, probably not immediately needed any more)
#
#
# This value used to be a percentage value that controls the tendency of
# the kernel to reclaim the memory which is used for caching of directory and
# inode objects.
#
# At the default value of vfs_cache_pressure=100 the kernel will attempt to
# reclaim dentries and inodes at a "fair" rate with respect to pagecache and
# swapcache reclaim.  Decreasing vfs_cache_pressure causes the kernel to prefer
# to retain dentry and inode caches.
# Edit 2020: Nowadays the value can be >100!
vm.vfs_cache_pressure = 75

The above is self-explanatory why you should do this now you have swap…

:wink:

While following the Swap - Manjaro wiki, I had executed the sudo sysctl vm.swappiness=10, but it didn’t have a recommendation for vfs_cache_pressure, so that’s still defaulted to 100.

Adding the settings as a file to /etc/sysctl.d/ is like having your own collection of “default overrides” right?

Once I build this file (directory is currently empty), do I need to reboot or execute a command to make it effective?

sudo e /etc/sysctl.d/30-swap_usage.conf wasn’t a valid command (e not found) but altering it to sudo nano /etc/sysctl.d/30-swap_usage.conf worked.

P.S. It’s also interesting to see that while my RAM usage had probably never exceeded 8-10GB (of 32) that the system still found uses for swap…

$ swapon
NAME      TYPE SIZE   USED PRIO
/swapfile file  38G 700.3M   -2

EDIT: I can confirm a reboot used/applied the /etc/sysctl.d/30-swap_usage.conf files settings…

$ cat /proc/sys/vm/vfs_cache_pressure
75
$ cat /proc/sys/vm/swappiness         
10
1 Like

yes

Yes

Sorry! That’s an alias on my system for editor

one last thing to read if you want to know more about swap:

:crossed_fingers:

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.