Asus c302ca Not Responding

Sometimes (not very often) there is a continuous Not Responding message on the top of current (random) window. It may be browser or document viewer or anything. That happens if I left too many apps opened with less than 20% free RAM. Swap (file) is working as expected.

kernel 6.2.12-1-MANJARO #1 SMP PREEMPT_DYNAMIC
Xorg
Chromebook Flip Asus c302ca
CPU 2 cores (4 threads) Intel® Core™ m3-6Y30
RAM 4Gb
eMMC 64 Gb

On Clear Linux and Fedora there was no such a problem, though in both cases wayland was utilized. Actually under Xorg on Clear Linux there was sometimes Not Responding but for 2-3 seconds. On Artix Linux this behavior not noticed with linux-zen kernel.

Does kernel patches have anything to do with this issue? Thanks.

More likely just coniguration difference in general.
I am pretty sure fedora uses some form of oom-killer or early-oom or whatever, for example.

Also … heres a better way to share system info:
[HowTo] Provide System Information

System:
  Kernel: 6.2.12-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.2-x86_64
    root=UUID=cf619c44-2151-4b92-bae8-45f216fe48c6 rw quiet splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.27.4 tk: Qt v: 5.15.8 wm: kwin_x11 dm: SDDM
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Google product: Cave v: 1.0 serial: <filter> Chassis:
    type: 9 serial: N/A
  Mobo: Google model: Cave v: 1.0 serial: <filter> UEFI: coreboot
    v: MrChromebox-4.16 date: 04/09/2022
Battery:
  ID-1: BAT0 charge: 29.2 Wh (100.0%) condition: 29.2/39.0 Wh (75.0%)
    volts: 8.5 min: 7.7 model: AS19MZF C302-50 type: Li-ion serial: <filter>
    status: charging cycles: 398
Memory:
  RAM: total: 3.73 GiB used: 2.15 GiB (57.6%)
  Array-1: capacity: 64 GiB note: check slots: 2 EC: None
    max-module-size: 32 GiB note: est.
  Device-1: Channel-0-DIMM-0 type: LPDDR3 detail: N/A size: 2 GiB
    speed: 1867 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 64 manufacturer: Micron part-no: MT52L256M32D1PF-10 serial: N/A
  Device-2: Channel-1-DIMM-0 type: LPDDR3 detail: N/A size: 2 GiB
    speed: 1867 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits): data: 64
    total: 64 manufacturer: Micron part-no: MT52L256M32D1PF-10 serial: N/A
CPU:
  Info: model: Intel Core m3-6Y30 bits: 64 type: MT MCP arch: Skylake level: v3
    note: check built: 2015 process: Intel 14nm family: 6 model-id: 0x4E (78)
    stepping: 3 microcode: 0xF0
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 1994 high: 2200 min/max: 400/2200 scaling:
    driver: intel_pstate governor: powersave ext-clock: 100 MHz cores: 1: 2200
    2: 2124 3: 1500 4: 2155 bogomips: 12007
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid invpcid_single lahf_lm lm mca mce md_clear mmx monitor
    movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm
    pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp
    rep_good sdbg sep smap smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp
    syscall tm tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi
    vpid x2apic xgetbv1 xsave xsavec xsaveopt xsaves 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 mitigation: Clear CPU buffers; SMT vulnerable
  Type: retbleed mitigation: IBRS
  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: IBRS, IBPB: conditional, STIBP: conditional,
    RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel HD Graphics 515 driver: i915 v: kernel arch: Gen-9
    process: Intel 14n built: 2015-16 ports: active: eDP-1 empty: DP-1, DP-2,
    HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:191e class-ID: 0300
  Device-2: IMC Networks USB2.0 HD UVC WebCam type: USB driver: uvcvideo
    bus-ID: 1-7:3 chip-ID: 13d3:5679 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 21.1.8 compositor: kwin_x11 driver: X:
    loaded: modesetting alternate: fbdev,vesa dri: iris gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93") monitors: <missing: xrandr>
  Monitor-1: eDP-1 model: AU Optronics 0x226d built: 2015 res: 1920x1080
    dpi: 177 gamma: 1.2 size: 276x155mm (10.87x6.1") diag: 317mm (12.5")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6 Mesa 23.0.2 renderer: Mesa Intel HD Graphics 515 (SKL
    GT2) direct-render: Yes
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio driver: sof-audio-pci-intel-skl
    alternate: snd_hda_intel, snd_soc_skl, snd_soc_avs, snd_sof_pci_intel_skl
    bus-ID: 00:1f.3 chip-ID: 8086:9d70 class-ID: 0401
  API: ALSA v: k6.2.12-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.70 status: n/a (root, process) with: wireplumber
    status: active tools: pw-cli,wpctl
  Server-3: PulseAudio v: 16.1 status: active (root, process)
    tools: pacat,pactl
Network:
  Device-1: Intel Wireless 7265 driver: iwlwifi v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 01:00.0 chip-ID: 8086:095a class-ID: 0280
  IF: wlp1s0 state: up 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 Bluetooth wireless interface type: USB driver: btusb v: 0.8
    bus-ID: 1-3:2 chip-ID: 8087:0a2a 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: 116.2 GiB used: 13.8 GiB (11.9%)
  ID-1: /dev/mmcblk0 maj-min: 179:0 vendor: SanDisk model: SD64G
    size: 57.95 GiB block-size: physical: 512 B logical: 512 B type: SSD
    serial: <filter> scheme: MBR
  SMART Message: Unknown smartctl error. Unable to generate data.
  ID-2: /dev/mmcblk1 maj-min: 179:8 vendor: HP model: DF4064 size: 58.24 GiB
    block-size: physical: 512 B logical: 512 B type: SSD serial: <filter>
    rev: 0x8 scheme: GPT
  SMART Message: Unknown smartctl error. Unable to generate data.
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 57.95 GiB size: 56.74 GiB (97.91%) used: 13.8 GiB (24.3%)
    fs: ext4 block-size: 4096 B dev: /dev/mmcblk1p2 maj-min: 179:10 label: N/A
    uuid: cf619c44-2151-4b92-bae8-45f216fe48c6
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 312 KiB (0.1%) fs: vfat block-size: 512 B dev: /dev/mmcblk1p1
    maj-min: 179:9 label: N/A uuid: 03AA-BA35
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 512 MiB used: 0 KiB (0.0%) priority: -2
    file: /swapfile
Unmounted:
  ID-1: /dev/mmcblk0p1 maj-min: 179:1 size: 57.95 GiB fs: exfat label: N/A
    uuid: 1F13-383B
  ID-2: /dev/mmcblk1boot0 maj-min: 179:16 size: 4 MiB fs: N/A label: N/A
    uuid: N/A
  ID-3: /dev/mmcblk1boot1 maj-min: 179:24 size: 4 MiB fs: N/A label: N/A
    uuid: N/A
USB:
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-3:2 info: Intel Bluetooth wireless interface type: Bluetooth
    driver: btusb interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 100mA
    chip-ID: 8087:0a2a class-ID: e001
  Device-2: 1-7:3 info: IMC Networks USB2.0 HD UVC WebCam type: Video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s power: 500mA
    chip-ID: 13d3:5679 class-ID: 0e02 serial: <filter>
  Hub-2: 2-0:1 info: Super-speed hub ports: 6 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 33.0 C pch: 29.5 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 193 Uptime: 9m wakeups: 1 Init: systemd v: 252 default: graphical
  tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: pm: pacman
  pkgs: 1155 libs: 330 tools: pamac pm: flatpak pkgs: 0 Shell: Zsh (sudo)
  v: 5.9 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.26

Moderator edit: In the future, please use proper formatting: [HowTo] Post command output and file content as formatted text

That is pretty normal behavior, since it swaps RAM to the swapfile. When you open it again, it swaps other Data to swap and swap back the current needed data. Then you experience the “not responding message”.

To improve it a bit, you could decrease the swappiness to 10. That means it will avoid swapping until 10% free RAM. Now it starts swapping at 60% free RAM.

cache-pressure 100 means that it will swap data immediately when it is unused. A lower value result in a higher wait time until it swaps to disk.

You can set both by:

sudo sysctl -w vm.vfs_cache_pressure=50
sudo sysctl -w vm.swappiness=10

:notebook: That is temporary.

A permanent solution would be:

sudo nano /etc/sysctl.d/99-swap.conf

and add there:

vm.swappiness = 10
vm.vfs_cache_pressure = 50

The values are just examples. You would need to adjust it to your needs and test the behavior.


Sidenote: I would not recommend using KDE with 4GB RAM. It would be much better using a more lightweight environment like i3 or sway, then you have more free RAM available for your applications.

To tag on to what @megavolt suggested … theres a script for that (and some more) :wink:
cscs / maxperfwiz · GitLab
(of course you can skip the udev tweaks and/or everything else but the 2 sysctl options above)

It stopped responding for nearly unlimited period of time, while on other Linux distro not. I guess swappiness has nothing to do here. I could understand if there was hdd to blame, but ssd is supposed not to show that behavior. Besides it may Stop Responding when I simply click on the large revealing list with more than a half free RAM. With Wayland window system there were no problems at all except OSK keyboard which is critical for laptop with touchscreen.

Well, I do not against to try another environment. If it is convenient to use with touch screen.

Thanks for the script, I will try that or change DE.

I don’t think I should manually force data to stay on the RAM, though your advice helped. But when I look into the performance script I saw I/O scheduler not set. Thus I’d rather change that setting first and leave swappiness by default. The parameter vm.vfs_cache_pressure=75 I also left as suggested. Other options were already “ideal” and not changed.

$ cat /etc/sysctl.d/99-maxperfwiz.conf
vm.vfs_cache_pressure=75
kernel.nmi_watchdog=0
vm.dirty_ratio=10
vm.dirty_writeback_centisecs=150

Just for us to know if I set that thing right for storage type (SSD) on Asus c302ca:

$ cat /etc/udev/rules.d/66-maxperfwiz.rules
ACTION==“add|change”, KERNEL==“sd[a-z]|mmcblk[0-9]*”, ATTR{queue/rotational}==“0”, ATTR{queue/scheduler}=“mq-deadline”

I need a week or so without reboot to estimate if this helped. Thanks.

Just a minor correction. An MMC (Multi Media Card) is not a SSD (Solid State Disk).

An MMC can barely compete with a normal HDD and is even slower (not to mention a SSD), but it is cheaper and not so bulky as an HDD. It is used on low-end devices where speed is not the main focus. So please be aware of this when using swap space on such a device.

MMCBLK0 → Multi Media Card Block 0

We will see if this cheap ssd will do its job, that’s why I left vm.swappiness=60

The speed test shows that Random Access is low. To my opinion that is the main problem how to optimize Disk I/O

KDE System Monitor Sensors do not see eMMC disk, how to fix? @cscs