Yes, this is normal and it’s a good thing (unless you’ve come across a bug). I don’t know exactly what app the screenshot is showing, but I’m guessing that the caching shown is referring to the filesystem cache. The kernel is keeping a cache of files you are likely to access again so that it doesn’t have to read them from storage again. So what you’re seeing here is that some memory contents were moved to swap to make room for filesystem cache. This is because the kernel believes you’re more likely to access those files again rather than the memory contents. If it’s right, then this a performance improvement despite the fear surrounding swap usage.
Setting a low non-zero swappiness value is telling the kernel that memory contents have priority over filesystem cache for remaining in RAM, or conversely that file cache is more likely to be evicted from the RAM. A value of 100 would mean that they have equal priority. So that memory content must have been very stale to be evicted despite having a significantly higher priority to reside in RAM.
So:
- don’t worry about swap usage unless you’re experiencing actual performance issues
- for ssd’s the value should be close to 100
- for hdd’s it should be low
- if you’re using both on your system, the default value of 60 is probably a decent approximation of the optimal value
Source: https://chrisdown.name/2018/01/02/in-defence-of-swap.html
On the other hand, if I’m reading through a command’s output and searching for something, abrupt movement of the contents make me lose track of where I am and it costs more time to reorient myself than the smooth scrolling animation would take to play out. More importantly (to me), it takes less mental effort as well. It’s just a more comfortable experience. Ever since I switched to neovide instead of plain nvim I find myself enjoying long coding sessions much more.
It sounds like you just might not be negatively affected by the abrupt movement as much as some of us are. You might now get why we care about smooth scrolling because it happens to not do anything for you. That’s fine and a good implementation would allow the user to toggle it on/off based on their needs.
No, I imagine that’s not the way most terminal emulators would implement it. Scrolling would still be done in whole lines, it would just animate smoothly towards the final position rather than jump instantly to it. You would not be able to end up on a half-line or something.