bottlesdevs / Bottles

Run Windows software and games on Linux
https://usebottles.com
GNU General Public License v3.0
6.25k stars 261 forks source link

[Request]: Remove vmtouch #2701

Open TheEvilSkeleton opened 1 year ago

TheEvilSkeleton commented 1 year ago

Tell us the problem or your need

vmtouch is a utility to cache data. Based on my experience, I have never noticed any of its benefits, but I have noticed excessive RAM consumption. Plus, we have to support that feature.

Describe the solution you'd like

We should remove it and close https://github.com/bottlesdevs/Bottles/issues/1941.

Other solutions?

No response

Additional context and references

No response

emansom commented 1 year ago

but I have noticed excessive RAM consumption.

Nope.

TheEvilSkeleton commented 1 year ago

My system went OOM multiple times.

emansom commented 1 year ago

Bottles shouldn't launch vmtouch with the -l command line flag here, as the mlock behavior causes the kernel file cache to not dereference files.

Removing that flag would make it use the more efficient touch/mmap based approach.

Kinsteen commented 1 year ago

@emansom, you seem to know vmtouch. Do you use it? Have you found real interest to use it? I'm asking because I would also like to remove it, but if there is a real use case where it can be useful, then I guess we can keep it.

jannuary commented 1 year ago

I'm inclined to ax it. It seems no one knows how to use it, including our own developers, and it also requires a lot of shit work to even use, all for seemingly dubious benefit.

Also, you would think that modern games are smart about loading their resources, in which case vmtouch isn't very helpful

emansom commented 1 year ago

@emansom, you seem to know vmtouch. Do you use it? Have you found real interest to use it? I'm asking because I would also like to remove it, but if there is a real use case where it can be useful, then I guess we can keep it.

It helps as pre-warm, making initial loading of assets faster.

All marginal on modern hardware, given modern NVMe is ridiculously fast. On old hardware however, especially on HDDs, it could help a lot.

I'm fine with it being axed, but it doesn't have to, dropping -l as vmtouch cmd argument would solve the OOM issues too.

TheEvilSkeleton commented 1 year ago

Hmm... I'm not sure anymore, as I know nothing about using vmtouch.

ikcikoR commented 1 week ago

vmtouch is a utility to cache data. Based on my experience, I have never noticed any of its benefits, but I have noticed excessive RAM consumption.

Doesn't that basically improve loading times for slow harddrives? With SSD there will probably be little to no difference but I'm quite sure folks with slow HDDs might benefit from it a good amount.