-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
System freezes, nohang-desktop only works sometimes #85
Comments
Thank you for the report! I would like to know if PSI is supported by your kernel. Please run
Do you use swap on HDD or SSD? Do you use zram or zswap? Could you show me your config? Please run nohang provides many options for debugging. I'd like to see the full log with
You can also set |
If the kernel supports PSI, the easiest way is changing thresholds for PSI. |
I would like to see you vm settings. |
I have swap on HDD
I will post debugging log soon. |
I think this is no longer necessary. |
The swapping process is slowed if the swappiness is low. Set swappiness >= 60 to avoid long and slow swapping. This should speed up filling the swap space and completing the process. |
PSI should help prevent freezing while heavily using swap space. Unfortunately, your kernel does not support PSI. |
You can also avoid freezing when starting a |
Maybe 12 GB swapspace on HDD is not good idea. Maybe 2-6 GB is OK. |
https://youtu.be/tb0lbvFroY8 how memload works
|
How does psi helps against freezing? Isn't it just for monitoring? |
nohang can decide on the need for corrective action based on PSI metrics. The values of memory and io PSI metrics increase with active swapping. An increase in metric values correlates with desktop freezing. Demo: nohang with
About PSI: |
Thank you @hakavlad . I've reduced my swapfile now to 3 GB and changed swappiness to 60. Running
|
BTW, @luni3359 Did you skip some log messages? Did you have any problem with GUI notifications? |
PSI is included in Linux kernel versions 4.20 and up. Also make sure CONFIG_PSI=y is set in the build configuration. You can check this by Your distribution might build the kernel with PSI support but disable the feature per default (CONFIG_PSI_DEFAULT_DISABLED), in which case you need to pass psi=1 on the kernel command line during boot. You can edit kernel boot parameters in your grub2 config. |
It looks like my kernel doesn't support PSI even if I changed the boot line.
|
@luni3359 Please use https://gist.github.com/ to publish long logs. Thank you! |
More logs after switching to a kernel with PSI on and updating to the latest version of nohang. I still can't see any notifications, and the system still freezes badly, but at least now the system becomes semi-responsive after a minute or so, and it becomes fully functional after a minute or two of lag. |
Weird, I ran |
Is it true that you use two monitors?
You can configure
-- with these settings, you probably will not be able to take long active actions during swapping. The default values are not too aggressive to prevent process termination and data loss during short-term moments of non-aggressive swapping. |
Thanks, I have lowered each of those settings by 10 to see if it helps. And no, I don't have two monitors, I don't know why it said that. |
Thank you! We need to debug this. Could you run
and give me the output, please? |
Sure, here it is:
|
@luni3359 Could you run this https://pastebin.com/jsPJzLMt script with |
@luni3359 Thanks!
|
|
I tested
nohang
with--memload
but once all the ram is used up the whole system freezes as swap starts getting full, but really the whole system is completely locked-up. I thought my swapfile was too small so I made it match my ram (12 GB) but the system still gets frozen.I changed the default nohang-desktop config and made the soft and hard thresholds a bit bigger but I get the same results. Randomly after 10-30 minutes with a frozen system either it reboots or it recovers and the system becomes responsive again. What logs can I provide? I'm gonna put something, I hope it's useful.
The text was updated successfully, but these errors were encountered: