Hi! I’m afraid I’ve hit the limits of my googling abilities. On a fresh session, my system seems to be fine, but after it’s been up for a day or so Gnome starts to hang intermittently until eventually it just gives up and crashes to back to the login screen.
Logs shows the out of memory killer getting invoked during many of the hangs and lots right before a crash. System monitors show memory use being very high, but it seems to be mostly cache. An example output of cat /proc/meminfo
:
MemTotal: 16048316 kB
MemFree: 251668 kB
MemAvailable: 517940 kB
Buffers: 15180 kB
Cached: 10206088 kB
SwapCached: 0 kB
Active: 3105224 kB
Inactive: 2092108 kB
Active(anon): 2974588 kB
Inactive(anon): 1994528 kB
Active(file): 130636 kB
Inactive(file): 97580 kB
Unevictable: 9739436 kB
Mlocked: 288 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Zswap: 0 kB
Zswapped: 0 kB
Dirty: 2812 kB
Writeback: 0 kB
AnonPages: 4711480 kB
Mapped: 266304 kB
Shmem: 9993056 kB
KReclaimable: 380400 kB
Slab: 557468 kB
SReclaimable: 380400 kB
SUnreclaim: 177068 kB
KernelStack: 21472 kB
PageTables: 63660 kB
SecPageTables: 0 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 8024156 kB
Committed_AS: 22766032 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 67620 kB
VmallocChunk: 0 kB
Percpu: 6304 kB
HardwareCorrupted: 0 kB
AnonHugePages: 1339392 kB
ShmemHugePages: 7927808 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
Unaccepted: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 411540 kB
DirectMap2M: 13934592 kB
DirectMap1G: 3145728 kB
This was taken shortly before a crash of my desktop session, when I had 40ish browser tabs open (the majority of them unloaded) and lutris and discord left open sitting in a different workspace, as I recall.
Any advice on where to start troubleshooting this? I’ve found lots of advice reassuring me that large memory usage for cache is fine and good, because it’ll get reclaimed without delay if an active application needs it, but the issue is that that doesn’t… seem to be happening? Or something else is going on. I don’t suppose I just need to allocate swap?