linuxmint / webapp-manager

GNU General Public License v3.0
715 stars 94 forks source link

Feature request: allow some sort of resource control #98

Open LinuxOnTheDesktop opened 3 years ago

LinuxOnTheDesktop commented 3 years ago

It would be nice to be able to limit the CPU usage and/or set the niceness of webApps. Ideally one would do this via the GUI.

An alternative or addition would be to let the webApp utility control resource usage somehow via the terminal

A further alternative would be for a webApp process to be - as I do not believe it to be present - distinguishable both from a process running simply via the browser in question and, preferably, from other webapps. Then one could using a nicing utility such as Ananicy to nice (and ionice) the process. Or run the utility 'CPULimit' on it.

Here is the background to the request. I am trying to run the Lichess website as a webapp, because the chess program 'LucasChess', which runs via Wine, no longer works properly via Wine. (And I do that because there are no decent chess GUIs for Linux.) But on Linux the Lichess chess engine uses > 20% of the CPU of a quad-core system, constantly.

ghost commented 3 years ago

does it have the same resource consumption as open in the browser?

try browsers other than Chrome, like Konqueror or Epiphany

LinuxOnTheDesktop commented 3 years ago

@dym-sh

Thanks. The problem with Lichess has disppeared. I do not know why. I believe that the following remains the case. It would be desirable for the user to have more control than at present over the resources used by a webApp.

ghost commented 3 years ago

i think level of this problem goes as high as enterprise-grade machine-virtualization server-distros :sweat_smile:

feel free to read more on the system-level control you can enact: https://scoutapm.com/blog/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups

leveraging those additional control tools from within the app is somewhat of a big undertaking, but not impossible

what webapp-manager does atm tho – is provide graphical UI to run terminal commands (e.g. google-chrome --app=https://lichess.org --class=WebApp-Lichess1337)