this post was submitted on 02 Sep 2023
35 points (83.0% liked)

Linux

48372 readers
951 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

So I am currently running stacer, tbh idk if its working good or not lol. Sometimes my computer still flares up randomly with high CPU usage and the fan going, but I try to use htop to pinpoint, but that tool is probably way more in depth than I know. I'd rather have like maybe a daemon? Or always on app that automatically notices strange things and helps balance out performance, I.e. CPU usage, ram usage, maybe heat?Battery life, overall just to help maintain optimum performance and proper running (I do not game at all BTW, so not a factor)

The three I know of are tlp, auto-cpufreq, and stacer. I've read that its not good to run the first two together. Plus I've tried tlp numerous times and I feel it made my perfoance worse... I tried the simple default settings and even thoroughly went through and customized the settings, still never seemed to work right. I experimented a little with autocpufreq but had no idea if it was working correctly lol. I mean I followed the basic instructions to set it up, but who knows. Same with stacer; dont know if its really working or if I even configured it right...

In your experiences, what would be the best tool or tools to help me with this. Not really looking for monitors as I have no idea what to do with all that info lol but tools that automatically monitor and make performance tweaks accordingly? Idk if there is an all in one solution or if you need specific apps together, but also need to be aware of possible confliction... Not to mention I set up netdata lol omg I had no clue what I was looking at or how to use it. Super overwhelming because the tool could actually help with network performance but it was so completely confusing. Definitely not for a beginner. Would love your guys suggestions please. Thank you

all 32 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (2 children)

The issues you're experiencing are peculiar for sure. Though some of the things you've mentioned do ring some bells for me; specifically from the time I was new to Linux and installed a bunch of (random) stuff to get more battery life out of my laptop.

First of all, unfortunately an all-encompassing software that ensures optimal performance at all times simply does not exist. Your best bet would be running a distro that does a lot of heavy lifting to ensure a good experience regardless of your hardware. So let's start with a healthy dose of questions to make sure we're all on the same wavelength:

  • Could you inform us regarding your hardware specifics?
  • What distro do you run?
  • How long ago did you install the distro?
  • Did you ever install software that was not available in the official repositories and is not otherwise delivered as a self-contained package-deal (read: flatpaks, snaps, appimages etc)?
  • Were the issues there from the get-go? Or did you do some things that might have triggered them? And if so, do you have any suspicions on what that something might be?

P.S. if it isn't khamzatsmom 🤣🤣. Welcome to the better platform 😉! Btw, I'm not surprised to hear that you're met with random issues if you continue to run more niche distros for the heck of it 🤣🤣. Sure; you're free to do whatever you want, but running a sane distro as a start will make a huge difference.

[–] borzthewolf 6 points 1 year ago (1 children)

Thanks so much. Wow those are some tricky questions lol. My only computer and main device is my dell xps 13 9310 laptop with Intel i5 evo processor and I think 8 GB of ram. Storage isn't a concern as I never really store anything and if its important enough, I put it in the cloud. I am currently using linux mint 21.2 with cinnamon desktop.

I just installed it a few weeks ago because I was using debian 12 bookworm and was having issues with freezing and errors and WiFi problems and I could not successfully troubleshoot them (my only helped is chat gpt lol) so I wiped my drive and installed mint. I've been doing this same thing for a while. Swapping distros either due to boredom and curiosity or I break them to the point where idk how to fix it, so I reinstall.

I believe I have installed apps outside of official repos, sometimes successfully other times not. I try not to do that though. And the big problem is I can't ever really tell what triggered the issues and a lot of times its hard to pinpoint WHAT is causing the issue and sometimes if I'm lucky, I can narrow it down to a certain thing, but there's usually a ton of errors and such I find along the way. I do successfully troubleshoot and fix some things, but there's more complex stuff that is out of my wheelhouse and I usually make things worse in my troubleshooting efforts lol

[–] [email protected] 3 points 1 year ago (1 children)

Thank you for being quite elaborate!

dell xps 13 9310 laptop with Intel i5 evo processor and I think 8 GB of ram

That should be fine.

I am currently using linux mint 21.2 with cinnamon desktop.

That should be fine as well.

I believe I have installed apps outside of official repos, sometimes successfully other times not. I try not to do that though.

Have you considered installing those apps inside of a container? Distrobox is worth mentioning as it streamlines a lot of this process and even allows one to set a 'distrobox' with its own custom HOME directory. It should make experimentation a whole lot less painful, so you should definitely think about it if you haven't yet.

I'd argue that if you reinstall Linux Mint with TLP -for what it offers in terms of battery life- and install the exotic packages within a distrobox, then most of your concerns would be resolved. Maintaining a healthier system like that should also decrease the rare bugs that you might be facing right now and thus enable you to run a system over a longer time period.

If this course of action makes running your distro too boring, then it's probably worth exploring either Arch or Gentoo as a dualboot alongside Linux Mint. Linux Mint would be used for school/work or whatsoever, while Arch/Gentoo is where all the 'fun' happens. Both distros also play a lot nicer with packages not found in the official repos, so they should necessarily offer a better experience.

[–] borzthewolf 1 points 1 year ago

Ok, so I just learned about distrobox from another one of my posts on a different account. What I'm currently wanting to do is triple boot an arch distro, a debian distro, and a rhel distro. But it seems quite difficult to do and many folks advised against it... Everybody keeps pushing VM for that. Idk enough about virtualization yet, but I dont really like that idea. I'd rather have them physically installed as separate workstations on my system, ya know?

[–] borzthewolf 1 points 1 year ago

Lol wtf oh no, you recognize me from reddit? Gosh what a weird, small world. I'm starting to hate reddit. The folks here are much much friendlier and more helpful

[–] [email protected] 10 points 1 year ago (1 children)

What... Exactly are you trying to accomplish? To me it seems like you think your system is leaving performance on the table, but that you don't think you have the knowledge to get that performance back.

What makes you think there is performance left on the table to begin with? Linux is running on millions of servers across the world, and programmers miles ahead of both you and me have expanded significant effort to optimize the performance as best as possible.

Even if there was performance left on the table (there always is a little, as a result of more general optimization as opposed to more niche tuning), what could an automated tool do that the kernel couldn't on its own?

[–] borzthewolf 0 points 1 year ago (1 children)

No, I think you may have misinterpreted my post. By performance, I just mean overall performance, preferably optimized for the perfect median... Not trying to squeeze more performance, just trying to work with what I got and ensure all the moving parts and software and such are playing fair and on the same page.... Basically looking for just smoothness and proper running of my systems at all times. I've had so many issues over the years, most likely user error, with just freeze ups, overheating, high CPU usage when I'm not really doing anything intensive at all and not to mention many WiFi issues, but that's probably a whole other topic. I dont quite know what aspects or programs I should configure or how or if everything should just be default, etc. Sometimes I just wing configurations to things that make sense to me. Needless to say, I just want to ensure my system stays on the same page and runs smooth, how it should, with fewer errors or slowdowns or other annoyances.

[–] [email protected] 6 points 1 year ago (1 children)

There's no one answer here. It's going to take a lot of trial and error and experimenting. All of the issues you mention are going to have to be addressed individually as well. There is never going to be a single tool to do this for you.

As far as tracking state over time, standing up a proper, modern monitoring stack will help tremendously. If you send logs to loki, collect metrics with Prometheus or OpenTelemetry, and graph them both with grafana, you should have really great insights to whatever is happening.. It's never going to be finished though. It's always a work in progress.

[–] borzthewolf 0 points 1 year ago (1 children)

Sounds like a complex undertaking. I dont quite even know where to start with learning how to do all of that. I figured there are tools out there, like the ones I listed, that are supposed to automatically optimize aspects for you.

[–] [email protected] 8 points 1 year ago (1 children)

It sounds like you're chasing something that doesn't exist. There isn't really like a point you get to when everything is "optimized" or whatever... That word doesn't really mean anything. Optimization is a process that you use for really specific situations. It's not a state you get to.

For example, if I was serving a website and the server was showing high CPU usage and disk activity, I might find what files are being accessed most often and add a caching layer (redis, varnish, memcache, etc). That would optimize for more efficient CPU usage and lower disk activity but it would also increase memory usage. That's a trade off I would need to consider before implementing that change. If the apps I am running are already consuming a lot of memory, I might run the risk of exhausting all the memory and having processes killed off (aka OOM errors). Maybe I try something else then.

You need to find what's happening with your system and then figure out what you can do to mitigate the behavior of any poorly performing apps. That all starts with good monitoring but beyond that its impossible to say because it's extremely dependent on how you have chosen to configure your system and what you are running.

This type of investigation is what gets you to be a real engineer.

[–] borzthewolf 1 points 1 year ago

Thanks, I'm starting to realize this. There are many different aspects and tools to use to assess different parts of your system. I just want to ensure my system is bug and error free. I just have no idea where to start and with what tools and how to understand and implement things. I know logs are a popular option, but even those confuse the heck out me me. Like I KNOW there's issues within my system but its difficult to find the right way to pinpoint and address things. I sorta wanna be like an investigator for my computer lol I want to really dig in and make sure everything is proper. Its just so daunting and vast and confusing. Chat gpt helps me with some stuff, which is actually very useful because answers on forums and what not can be all over the place and a lot of times the solutions dont quite work.

[–] [email protected] 5 points 1 year ago (1 children)

I don't think you're going to find a magic program that will just make your computer run faster. If there is a lot of CPU usage, something is using it. try to find out what that is, and either stop the process, wait for it to finish, etc.

if you have a lot of maintenance tasks that run and take up resources, maybe try and reschedule them for other times of the day?

[–] borzthewolf 3 points 1 year ago (1 children)

No no I'm sorry, you guys seem to be misinterpreting things a bit, I'm not really looking for MORE performance because there are obvious hardware limitations, I'm just looking for tools that help optimize what I have to work with. To ensure things are balanced and smooth and running within normal bounds. Trying to enhance I guess health and overall usability. Make sure things aren't running out of control or consuming more resources than they should. I mean I can look at htop and understand some things, but I by no means know how to use that info to manually configuring things myself, ya know? Just like the many monitoring tools out there, but ones that automatically make adjustments accorsingly, so daemon type programs I guess?

[–] [email protected] 6 points 1 year ago (1 children)

I get what you're saying, but I don't think you're going to find anything like that. Linux doesn't really need some maintenance app running on top of it to keep it healthy. most of the programs that claim to do the same on windows,. android, etc. don't really do anything helpful either. If you've got a specific issue that keeps popping up, perhaps we can solve it.

[–] borzthewolf 1 points 1 year ago

Well this is good to know. Even programs such as tlp? It seems like everybody and their mother recommend that one lol

[–] over_clox 4 points 1 year ago (1 children)

A long time ago I managed to set up pretty much all temporary files, internet cache files, and even system log files in a tmpfs RAM volume. Made a HUGE difference!

That last part, putting log files in tmpfs, is not exactly easy though, it requires a startup script to generate all the log directory names, otherwise the system will most likely crash. Plus you lose all system logs after every restart.

Still, tell ya what, it was worth the effort to me, made things so much faster!

[–] borzthewolf 2 points 1 year ago

Oh gosh that sounds interesting, but way above my pay grade haha

[–] [email protected] 3 points 1 year ago (1 children)

Of all the tools you mentioned the only thing I use is tlp on laptops. I've never felt the need to run something like stacer, it looks like it claims to do what you're looking for, beyond that I would just address your specific concerns. If you have a job that's running periodically that consumes too much CPU maybe you should schedule it for when you are not using the computer, or see if you can throttle it.

Uninstall apps you're not using if your laptop is overloaded. Maybe consider a buying a new one if you need more performance or battery life.

Keep in mind Linux is not Windows and modern Windows doesn't really need all the "optimization" people think it does anyway.

What specific issues are you having?

[–] borzthewolf 3 points 1 year ago

Oh man I've done a lot of research on various performance issues and I end up wormholing and getting even more confused. Hence why it would preferably be nice to have tools to do it for me lol. I've had many random issues over the years; errors, freezes, overheating, high CPU and/or ram usage when I'm seemingly doing nothing but browsing the web (normal browsing, nothing intensive), overall slow downs or crashes, not to mention WiFi issues. I've trouble shot that to death and could never get anywhere so I installed a freaking Ethernet jack the other day in my living room, where I typically use my laptop. I'm just looking for tools to monitor and ensure things are running as they should and to help optimize in real time, so like daemon programs I suppose. Whenever I run into a serious enough issue that I can't troubleshoot, I just end up wiping my drive and reinstalling a new distro. Thats not the ideal way of troubleshooting haha

[–] [email protected] 3 points 1 year ago (1 children)

I can sort of imagine like a little program that tries to be smart and says "hey this thing is running and using a lot of CPU, and Chromium also wants a lot of CPU right now, so let me go ahead and renice this other process to lower its priority so Chromium can go faster". Or "gee the system is unusable because it is swapping, let me randomly kill stuff until it works again".

But I'm not sure there are a lot of options for that sort of userland tool, because being smart enough to do the right thing in those cases while not also doing a bunch of unexpected and possibly counterproductive stuff is hard. But maybe you can bolt a large language model to a root shell and see if it helps?

Really the kernel is supposed to just do the right thing all the time anyway. You might be able to find something that like changes your CPU governor when you go on and off battery? But mostly there are settings to tune like which CPU governor you want to be using or whether to compress stuff in RAM or how much the kernel should tend to swap stuff to disk, or what the fan speed ought to be at different temperatures, and if you want to make the system go faster you fiddle with those.

[–] borzthewolf 1 points 1 year ago (1 children)

Thanks a lot! The issue is that linux is very complex with many aspects and I am not pro lol. Like niceness, I've heard of it and seen it in htop, but idk if the settings are correct. There's so many programs, daemons, software, and actual hardware, idk where to start exploring and tuning the system myself. Its very overwhelming, so I figured maybe some of the tools I listed may help. For instance, I'll spend hours And hours trying to understand logs or reading tutorials to help check for and fix errors or problems or broken things or misconfigured things but I just get lost and none of it makes sense. Like I'll read an error line in a log, but I have no clue what it means. I'll google it and sometimes try solutions, but even then, a lot of that is confusing and leads me down other rabbit holes too lol. Its vicious really... So needless to say, I have no idea where or how to start properly fixing or tuning things myself yet alone pinpoint actual issues. Its tricky but I've gotten better over the years, usually trial and error

[–] [email protected] 2 points 1 year ago (1 children)

Usually tools that people make to help people get stuff working properly when they are new is all about constraining the system to be set up right in the first place, rather than tuning or fixing it later. Rather than starting with a distro that needs a lot of fiddling and getting a tool to fiddle with it for you, you want to look for a distro that is designed to set itself up in a sensible configuration when you install it.

[–] borzthewolf 2 points 1 year ago (1 children)

See thats one thing I've been weary about as well. I mean every computer is different so I figure just a fresh, default install won't necessarily mean the system is configured and running properly simply due to the nature of all the different hardware and bits and bobs for each setup. How am I supposed to know if things are configured and working properly even after a fresh install? Linux really is a beast with so many aspects

[–] [email protected] 2 points 1 year ago

Usually the parts that would need some optimization, like, say, using the CPU features properly, are things that are shared with a bunch of other people, and so good support for them makes it into the mainline kernel and from there to everybody.

If you think you have an unusual or super new system, you can look for a way to run newer or specially-optimized-for-your-hardware kernel builds. Or you can always get into compiling the kernel or other system components with the right optimizations or go-faster stripes for exactly your machine: Gentoo people like to do that.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

Are you running Steam with the option to pre-cache Vulkan shaders, by any chance? It usually eats a lot of CPU when you aren't playing anything on Steam, for some minutes!!!

[–] borzthewolf 1 points 1 year ago

Nope! Not a gamer at all