Linux Thread

what distro are you running?

  • Ubuntu (including Kubuntu and other flavors)

    Votes: 25 16.6%
  • Debian

    Votes: 15 9.9%
  • Arch

    Votes: 38 25.2%
  • Manjaro

    Votes: 13 8.6%
  • Pop!_OS

    Votes: 4 2.6%
  • Fedora

    Votes: 6 4.0%
  • MX

    Votes: 0 0.0%
  • Mint

    Votes: 26 17.2%
  • [Other]

    Votes: 24 15.9%

  • Total voters
    151

RisingThumb

Imaginary manifestation of fun
Joined
Sep 9, 2021
Messages
713
Reaction score
1,768
Awards
173
Website
risingthumb.xyz
There is also a memory leak, your computer shouldn't increase its ram usage with uptime.
Not necessarily a memory leak. Just because a program needs more and more heap doesn't mean it'll not free it up when it's finished using it.
Of course... most programs written nowadays are not simple enough that they obviously have no memory leaks. They're so complex they have no obvious memory leaks.

Your browser probably has memory leaks. Linux kernel code probably has memory leaks. I'm putting this probability on the sizes of their codebase. They are so large that PRs done to them aren't thoroughly enough reviewed.

Cat-v.org did a great collection of articles on harmful software on a related point to this.
 
Virtual Cafe Awards

Collision

Green Tea Ice Cream
Joined
Jun 5, 2022
Messages
373
Reaction score
1,407
Awards
126
Been using Linux as my daily driver for two years, currently stuck with Manjaro as I'm feeling too lazy to switch as it 'just works'... Most of the time. My home server uses Debian.
However, not sure if it's a KDE thing or Manjaro itself, but occasionally multitasking brings performance to a crawl, and shortly after to a total halt from where the OS cannot recover from, needing a hard restart. Any ideas what's going on? My desktop should be beefy enough to handle these workloads. Same issue appears easier with my old test laptop (that also has Manjaro), but it's a piece of crap in comparison.
Like others said, this could be caused by a low memory condition. Installing more RAM will probably fix it, but you might be able to fix it by changing your system configuration too. There are a number of configuration options that affect virtual memory over-commit and the Out-Of-Memory Killer's behavior. If changing your configuration doesn't help then you might improve things by installing a daemon to preemptively kill processes that put too much pressure on your memory. You could force the kernel OOMKiller to trigger more often if you reduce or eliminate your swap space as well. If you just want to recover the system when this happens then hitting Alt+SysRQ+F should kill whatever process is using the most RAM.

I think this happens because the system is committing so much memory that it can no longer cache pages in RAM. As a result, each time a page fault occurs the system has to go all the way to the disk to retrieve the required memory page. While this happens, the system may put the process requesting the page to sleep and wake the next scheduled process. Similarly, the next process might immediately cause a page fault. In the worst case, the system ends up swapping pages trying to resolve faults for so long that it becomes unresponsive. I'm not an expert on virtual memory management, but I think this is acceptable summary.

These symptoms could also be caused by creating too many threads at once, but I think this scenario is unlikely. If you, like me, occasionally need to profile code written by university students then it could be this. The cause of process/thread thrashing is basically the same as the memory thrashing problem. In this case so many threads or processes exist that they can't be concurrently scheduled. The system spends so much time performing context switches between threads of execution that no meaningful work gets done.
 
Virtual Cafe Awards
Not necessarily a memory leak. Just because a program needs more and more heap doesn't mean it'll not free it up when it's finished using it.
Of course... most programs written nowadays are not simple enough that they obviously have no memory leaks. They're so complex they have no obvious memory leaks.

Your browser probably has memory leaks. Linux kernel code probably has memory leaks. I'm putting this probability on the sizes of their codebase. They are so large that PRs done to them aren't thoroughly enough reviewed.

Cat-v.org did a great collection of articles on harmful software on a related point to this.
I said there is probably a memory leak because Both KDE and Gnome had memory leak issues basically every update they had.
 
Virtual Cafe Awards

RisingThumb

Imaginary manifestation of fun
Joined
Sep 9, 2021
Messages
713
Reaction score
1,768
Awards
173
Website
risingthumb.xyz
I said there is probably a memory leak because Both KDE and Gnome had memory leak issues basically every update they had.
Yeah. Both Gnome and KDE are the butt of jokes in the Linux world. iirc, there was some mailing list thread about Gnome using javascript for controlling the mouse.

I can understand configuring it, because websites used for configurations can be convenient. Syncthing does that. But for controlling it... Comedy
 
Virtual Cafe Awards

Collision

Green Tea Ice Cream
Joined
Jun 5, 2022
Messages
373
Reaction score
1,407
Awards
126
I said there is probably a memory leak because Both KDE and Gnome had memory leak issues basically every update they had.
I don't think leaking memory would cause the symptoms that are being described. This is the exact situation that would trigger the OOMKiller in the kernel before the system became unresponsive. When memory is leaked, the pages containing the lost memory are unlikely to be accessed again. They can be safely swapped to the disk and ignored because there's no way to reference them within the application that lost them. An unresponsive system indicates a high contention for resources instead.
 
Virtual Cafe Awards

InsufferableCynic

Well-Known Traveler
Joined
Apr 30, 2022
Messages
522
Reaction score
1,332
Awards
127
Don't use KDE or Gnome. They are both awful for entirely different reasons. If you have to use one of them, KDE is significantly less bloated and actually works as a desktop environment without breaking constantly.

But I would seriously recommend changing to a more lightweight DE. Not just for the minimalism meme, which doesn't really matter, but more just because honestly at the end of the day having a fast responsive desktop that lets you access your applications quickly and keep your computer running for a long time is far more desirable in the general case than a fully-featured do-everything solutions.

KDE and Gnome both save a lot of time upfront because they come bundled with so much, but they then waste time by being slow, by interrupting your workflow when you accidentally activate undesired features, and being complex and breaking constantly (Gnome breaks a lot more often on average, but KDE still has plenty of issues).

When it comes to desktops, I have generally found a few core principles to be true:
- A simple WM or DE will take about 24 hours or so to configure, especially if you need to install additional software for a bar, a file explorer, etc. This may seem daunting upfront, but it's actually fun and productive because you get to choose exactly what you want to run. I personally have a big install script that installs bspwm and polybar for basics, and then a bunch of additional software for my use case - udiskie (I hotplug devices a lot and having a GUI to do it is nice), blueberry (again, a nice GUI to connect bluetooth devices is nice), iwgtk (ditto for wireless), pcmanfm is a good file browser, and that's really all you need. More can be added as needed.
- Graphical Login is useless and complicated. Running a login manager requires running X as a separate user and messing with users and sessions. Using the standard terminal to login and using startx to start a graphical session is just as practical (if not more so), and allows you to stay in terminal mode if you're doing something really basic that doesn't require a GUI
 

CopiumDen

Internet Refugee
Joined
Aug 10, 2023
Messages
19
Reaction score
19
Awards
5
Started monitoring resource use on my laptop while testing a few things and indeed, the machine choked as a result of running out of RAM.
I'm somewhat more surprised that this event could ever happen on my desktop though, as it's got 32GB RAM (while the laptop has meager 8GB), but with memory leaks as a possibility, then it'd make sense...
Thanks for the tips though, seems I've got a fair bit of learning to do. Switching to a different DE could be a nice change of pace, gotta look into it.
 
Virtual Cafe Awards
I don't understand that video soo much, genuinely no idea what the fuck happens. But i don't use debian soo he is literally me.
you aren't fooling anyone ;) but somewhat counterintuitively I've started using windows 11 enterprise a lot more often than linux mostly because of app support. I wanted to play arknights on my phone but my phone didn't have enough storage space on the main chip (has an SD card but apparently they no longer support putting apps on the SD card). So there is barely any reason to be an android phone user and now I might as well become a Samsung user.

Its really not that bad and having first row access to all the apps anyone everywhere is developing is really nice as well. Everything just works out of the box, no fiddling with your wifi-chips and ethernet drivers this and that. Didn't even need to install the AMD drivers for my graphics card because while I was fiddling with the settings for configuring windows 11 to be as least intrusive as possible it automatically set it up for me, but it was a little confusing why my screen kept flashing in and out as it adjusted itself.

Give me the above but on a Linux distribution. Even development isn't that bad since you can just use cygwin, or ming64 and run a subset of bash commands, or even use the linux subsystem. They really did do the entire runaround Linux and just said you know what, lets put Linux in windows and nip the Linux in the bud.

Which brings me to my final point. Windows 11 sucks in terms of privacy, every so often you get nagged to make a windows account or features wont work. Security settings encourage you to upload your files onto oneDrive to protect from ransomware. How about keep good backups and don't put them on the cloud where bill gates can read your files. You are heavily encouraged to make an account so that you can have access to all sorts of microsoft things and its just like. Let me us the dang OS. Also I got it for free thru my uni as the Windows 11 education edition.
 
Virtual Cafe Awards

lainesnipes

Internet Refugee
Joined
Jul 18, 2023
Messages
6
Reaction score
8
Awards
2
Anyone have experience dual-booting Windows 11 and Linux Mint/any other distro off the same drive? I heard that Windows 11 can act up when dual-booting, wanted to make sure before I do it myself. :EZY:
 

Yuiui

Internet degenerate
Joined
Jun 7, 2023
Messages
65
Reaction score
176
Awards
29
Website
yuiui.moe
Anyone have experience dual-booting Windows 11 and Linux Mint/any other distro off the same drive? I heard that Windows 11 can act up when dual-booting, wanted to make sure before I do it myself. :EZY:
I've done it in the past and I didn't run in to a lot of trouble I just needed to press any key at startup within 10 seconds so Windows wouldn't try to "repair my drive"
 
Virtual Cafe Awards

InsufferableCynic

Well-Known Traveler
Joined
Apr 30, 2022
Messages
522
Reaction score
1,332
Awards
127
Anyone have experience dual-booting Windows 11 and Linux Mint/any other distro off the same drive? I heard that Windows 11 can act up when dual-booting, wanted to make sure before I do it myself. :EZY:
I dual boot windows 10. You should never run windows 11 for any reason under any circumstances.

Anyway, if you want to dual boot, you should install windows first. Windows overwrites your boot loader completely, making it impossible to boot Linux without manually reinstalling grub via terminal in a live distro. Linux on the other hand will pick up Windows automatically and add it to grub as a selectable option.
 

RisingThumb

Imaginary manifestation of fun
Joined
Sep 9, 2021
Messages
713
Reaction score
1,768
Awards
173
Website
risingthumb.xyz
I dual boot windows 10. You should never run windows 11 for any reason under any circumstances.

Anyway, if you want to dual boot, you should install windows first. Windows overwrites your boot loader completely, making it impossible to boot Linux without manually reinstalling grub via terminal in a live distro. Linux on the other hand will pick up Windows automatically and add it to grub as a selectable option.
Then Windows updates or does something, overrides your bootloader and now you can't get back into Linux aaaaand Windows has clawed you back into its grasp- oh and the default of Windows and the easiest path being comfort that leads to most dual booters staying on Windows. These two reasons were sufficient 5 years ago for me to rip off the bandage and start using Linux fully.
 
Virtual Cafe Awards

InsufferableCynic

Well-Known Traveler
Joined
Apr 30, 2022
Messages
522
Reaction score
1,332
Awards
127
Then Windows updates or does something, overrides your bootloader and now you can't get back into Linux aaaaand Windows has clawed you back into its grasp- oh and the default of Windows and the easiest path being comfort that leads to most dual booters staying on Windows. These two reasons were sufficient 5 years ago for me to rip off the bandage and start using Linux fully.
I agree the best option is to run Linux and only Linux

But I was answering the question posted.

I've had a dual boot for years and it hasn't broken anything bootloader related, updates don't really touch the bootloader much if at all.

For anyone wondering, the reason I have a dual boot is because I write software for Oculus professionally and while it's possible to get Oculus working on Linux with some hacky workarounds, it makes it largely impossible to replicate the setups my users have, making technical support difficult
 

RisingThumb

Imaginary manifestation of fun
Joined
Sep 9, 2021
Messages
713
Reaction score
1,768
Awards
173
Website
risingthumb.xyz
For anyone wondering, the reason I have a dual boot is because I write software for Oculus professionally and while it's possible to get Oculus working on Linux with some hacky workarounds, it makes it largely impossible to replicate the setups my users have, making technical support difficult
This is a fair reason. Unity and Unreal engines both have awful support on Linux. SDKs designed around Windows users only, are a nightmare for Linux Users... but I think in a sickly twisted way... their design for Windows users attracts Windows user-quality talent.
StatisticsOfOS.jpg
 
Virtual Cafe Awards

InsufferableCynic

Well-Known Traveler
Joined
Apr 30, 2022
Messages
522
Reaction score
1,332
Awards
127
This is a fair reason. Unity and Unreal engines both have awful support on Linux. SDKs designed around Windows users only, are a nightmare for Linux Users... but I think in a sickly twisted way... their design for Windows users attracts Windows user-quality talent.
View attachment 74358

Yeah, corporate programmers are the worst, but Windows-centric programmers are pretty awful too.

Luckily Unity is more Linux-usable than it was a few years ago, which was more than a few years before that. Mono is much better now (and with IL2CPP which it multi platform it barely matters anymore).

The problem isn't necessarily Windows-focus though, it's the idea that anyone can program. you're an artist who's never written code in your life? YOU can make the player script because "it's so easy and will just work"

Making programming easy to use was a mistake because it makes it far easier to create something workable that's not very good. Structure has always been hard and hasn't fundamentally improved since OO, but languages are becoming more accessible. So we have more people who have no idea what they are doing getting their hands dirty with "simple" code that works well enough that it gets kept, but is so badly designed it's going to be a nightmare for anyone who has to maintain or interface with it.
 

RisingThumb

Imaginary manifestation of fun
Joined
Sep 9, 2021
Messages
713
Reaction score
1,768
Awards
173
Website
risingthumb.xyz
Making programming easy to use was a mistake because it makes it far easier to create something workable that's not very good. Structure has always been hard and hasn't fundamentally improved since OO, but languages are becoming more accessible. So we have more people who have no idea what they are doing getting their hands dirty with "simple" code that works well enough that it gets kept, but is so badly designed it's going to be a nightmare for anyone who has to maintain or interface with it.
There's nothing wrong with simple code. In fact, the simpler, the better! Put all the complexity away into your data structures and make your code as simple as possible! Let the data structures do all the heavy lifting! OOP is an oopsie as it couples data and implementation too closely, which can end up with messy data and messy implementation(and more often than not, loads of boilerplate for getting and representing the data rather than actually doing something with it).

I do see what you meant by "simple". It's easier to throw on a few extra if statements. This gets worse and worse if the default engine implementation isn't what you want, so you have to reinvent the wheel(flashbacks to Godot's 3D movement when I was trying to make Quake Style movement)
 
Virtual Cafe Awards

InsufferableCynic

Well-Known Traveler
Joined
Apr 30, 2022
Messages
522
Reaction score
1,332
Awards
127
There's nothing wrong with simple code. In fact, the simpler, the better! Put all the complexity away into your data structures and make your code as simple as possible!
Abstraction is a foreign concept to exactly the programmers I was talking about.

It's also a foreign concept to most C programmers, who seem to love messing with string buffer pointers in the middle of business logic code.

Let the data structures do all the heavy lifting! OOP is an oopsie as it couples data and implementation too closely, which can end up with messy data and messy implementation(and more often than not, loads of boilerplate for getting and representing the data rather than actually doing something with it).
People say this like it's a slam dunk, but the problem is literally worse with procedural programming.

My favorite example of this kind of meme thinking is Linus Torvalds. He endlessly complains about C++ programmers and the quality of C++ code, but the source code to git is up on GitHub. I've seen it. It's horrible. Multi-Thousand line source files, pointers everywhere, macros calling macros with names like n_squiz. It's a nightmare.

Yes, there are genuine arguments against Oop. Mixing state and implementation is not one of them. Most of the complains I see about oop are unfounded and are based on "simple code" memes. But the code is so simple as to be horrible. Just because you can save 2 lines by doing pointer arithmetic doesn't mean you should.

This really is the big problem with the "simple" code debate. People use stupid metrics. Usually either lines of code or compute cycles, as if that's some objective proof that their code is good. It doesn't work that way. Never is the time (and money) cost of code maintenance ever considered.

The year is 1999. Imagine you just got hired to work at Id software. Someone has reported a bug with the way shadows and reflections are rendering. You look into the code and see fast-invsqrt. You realize it's impossible to maintain and spend hours wrapping your head around how it works. You can argue that it's fast code - especially fast code that needs to run multiple times per frame, which is important. But you can't argue it's good code. It's neither simple nor easy to understand. And it's impossible to maintain.

I do see what you meant by "simple". It's easier to throw on a few extra if statements. This gets worse and worse if the default engine implementation isn't what you want, so you have to reinvent the wheel(flashbacks to Godot's 3D movement when I was trying to make Quake Style movement)
Good OO programmers rarely if ever use if
 
Last edited:

Similar threads