this post was submitted on 19 Aug 2024
59 points (91.5% liked)

Linux

48216 readers
1320 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
59
Java uses double ram. (sh.itjust.works)
submitted 3 months ago* (last edited 3 months ago) by UnRelatedBurner@sh.itjust.works to c/linux@lemmy.ml
 

Let's be honest: I only use Java for Minecraft. So I only debugged with it. But all version, server or client, all launchers. All of them use double (or more) RAM. In the game the correctly allocated amount is used, but on my system double or more is allocated. Thus my other apps don't get enough memory, causing crashes, while the game is suffering as well.

I'm not wise enough to know what logs or versions or whatever I should post here as a cry for help, but I'll update this with anything that'll help, just tell me. I have no idea how to approach the problem. One idea I have is to run a non-Minecraft java application, but who has( or knows about) one of those?

@jrgd@lemm.ee's request:

launch arguments [-Xms512m, -Xmx1096m, -Duser.language=en] (it's this little, so that the difference shows clearly. I have a modpack that I give 8gb to and uses way more as well. iirc around 12)

game version 1.18.2

total system memory 32gb

memory used by the game I'm using KDE's default system monitor, but here's Btop as well:

this test was on max render distance, with 1gb of ram, it crashed ofc, but it crashed at almost 4gbs, what the hell! That's 4 times as much

I'm on arch (btw) (sry)

you are viewing a single comment's thread
view the rest of the comments
[–] UnRelatedBurner@sh.itjust.works 2 points 3 months ago* (last edited 3 months ago) (2 children)

launch arguments [-Xms512m, -Xmx1096m, -Duser.language=en] (it's this little, so that the difference shows clearly. I have a modpack that I give 8gb to and uses way more as well. iirc around 12)

game version 1.18.2

total system memory 32gb

memory used by the game I'm using KDE's default system monitor, but here's Btop as well:

also: this test was on max render distance, with 1gb of ram, it crashed ofc, but it crashed at almost 4gbs, what the hell! That's 4 times as much

[–] jrgd@lemm.ee 2 points 3 months ago* (last edited 3 months ago) (1 children)

For clarification, this is Vanilla, a performance mod Fabric pack, a Fabric content modpack, Forge modpack, etc. that you are launching? If it's the modpack that you describe needing 8gb of heap memory allocated, I wouldn't be surprised the java stack memory taking ~2.7 GiB. If it's plain vanilla, that memory usage does seem excessive.

[–] UnRelatedBurner@sh.itjust.works 2 points 3 months ago (1 children)
[–] jrgd@lemm.ee 3 points 3 months ago* (last edited 3 months ago) (1 children)

Running the same memory constraints on a 1.18 vanilla instance, most of the stack memory allocation largely comes from ramping the render distance from 12 chunks to 32 chunks. The game only uses ~0.7 GiB memory non-heap at a sane render distance in vanilla whereas ~2.0 GiB at 32 chunks. I did forget the the render distance no longer caps out in vanilla at 16 chunks. Far render distances like 32 chunks will naturally balloon the stack memory size.

[–] UnRelatedBurner@sh.itjust.works 1 points 3 months ago

That you'd think that random game objects aren't stored on the stack. Well, thanks for the info. Guess there isn't anything to do, as others have said as well.

[–] Max_P@lemmy.max-p.me 2 points 3 months ago

It looks like you're looking at the entire PolyMC process group so in this case memory usage also includes PolyMC itself, which buffers a chunk of the logs. It shouldn't be using that much, but it will add a hundred MB or two to your total here as well.