|
well-meaning, naive user: do I have enough memory to run my program? unhelpful kernel: i dunno, i guess just try running it and see if your computer gets too slow
|
# ? Aug 1, 2020 17:38 |
|
|
# ? May 11, 2024 11:10 |
|
alright let’s do this. without overcommit your app that ran yesterday won’t run today because you have an open browser tab that has too many images that you haven’t looked at in six hours.
|
# ? Aug 1, 2020 17:56 |
|
the stupid part about overcommit is that it conditions programmers to always assume that memory allocation requests succeed and never implement any error handling programs that gracefully handle an out of memory condition are a rarity nowadays autogrowing page files is also really stupid since a leaky application can grind the whole system to a halt with 100gb of garbage paged out to disk. There should never be a reason to have more than maybe 8gb swap total. iOS having APIs to tell an application "hey clean up your poo poo or i'm going to terminate you" is one of the few things they did better on mobile platforms, the iphone 4 got by on 512mb ram and adding more memory just seems to make developers more wasteful.
|
# ? Aug 1, 2020 20:00 |
|
The Management posted:alright let’s do this. without overcommit your app that ran yesterday won’t run today because you have an open browser tab that has too many images that you haven’t looked at in six hours. if that browser was developed in a world without overcommit, it wouldn't have been made to hold on to large amounts of memory like that in the first place.
|
# ? Aug 1, 2020 21:42 |
|
hmm, OP. Many questions raised here
|
# ? Aug 1, 2020 21:49 |
|
640K really ought to have been enough
|
# ? Aug 1, 2020 22:59 |
|
os/2 is the operating system of the 90's
|
# ? Aug 1, 2020 23:11 |
|
i turn it off for postgres servers because pg is written to notice when memory is out and kill poo poo intelligently, unlike the oomkiller
|
# ? Aug 1, 2020 23:37 |
|
DuckConference posted:well-meaning, naive user: do I have enough memory to run my program? swap.avi
|
# ? Aug 2, 2020 00:42 |
|
back in my day your memory addresses were real, none of this virtual poo poo
|
# ? Aug 2, 2020 01:01 |
|
quite bullshit that peek and poke arent modern tools
|
# ? Aug 2, 2020 04:12 |
|
it’s good because it mirrors the behaviour of actual users that buy a gym memberships and go once
|
# ? Aug 2, 2020 04:28 |
|
big "we wouldn't need processors faster than a pentium 3 if software developers weren't morons" energy itt
|
# ? Aug 2, 2020 05:47 |
|
“just jam it in there and see how it goes” is a legitimate process step
|
# ? Aug 2, 2020 06:31 |
|
carry on then posted:big "we wouldn't need processors faster than a pentium 3 if software developers weren't morons" energy itt i don't feel any shame about it
|
# ? Aug 2, 2020 07:44 |
|
you, impetuous and foolish: "my elaborate calculations show that this task will result in an out of memory condition" me, patient and sagacious: "only one way to find out"
|
# ? Aug 2, 2020 07:44 |
|
carry on then posted:"we wouldn't need processors faster than a pentium 3 if software developers weren't morons" and if froggy had wings he wouldn't bump his rear end a-hoppin
|
# ? Aug 2, 2020 08:19 |
|
let’s clarify what it means to run without overcommit. it can be one of several things. 1. every process gets a fixed size memory segment. it does not grow or shrink. 2. every process gets a fixed size memory segment, but libraries are loaded in a shared region. 3. processes can grow their memory allocation. if a process tries to grow and there is not enough available memory, its request is denied and it needs to deal with the consequences. 4. processes can grow. if there is not enough memory, the OS asks other processes to release some memory. if processes don’t release memory, too bad. 5. same but if processes don’t release memory, the os kills them. numbers 1 and 2 require processes to know their maximum memory requirement, and temporally waste a large amount of memory. it is also very restrictive because processes need to avoid temporary ballooning of memory allocations because they will either need to request a larger segment or they will hit the ceiling of their allocation. number 3 is anarchy. an unfortunate combination of processes that happen to hit a memory peak at the same time can exclude each other and deadlock the system. programmers must be able to handle allocation failures everywhere. most code thinks it’s doing it, but rarely are those paths all tested and correct. number 4 is the same as 3. many processes cannot reasonably halt what they are doing and release memory at request time. memory becomes a contended resource with processes repeatedly trying to acquire more to get their work done, and ignoring release requests. the system ends in memory deadlock again when memory high tide hits. number 5 is the out of memory killer. it sucks. and killing processes that have other processes depending on them can be catastrophic and unrecoverable, requiring a userland reboot
|
# ? Aug 3, 2020 05:47 |
|
that's a lot of cases to consider when really the choice is between a) have your computer infrequently run at degraded performance until you, or the system, kills off a few resource hogs, or, b) make all software more fragile and hard to write while making your computer and software quite frequently unstable even with the best possible effort applied.
|
# ? Aug 3, 2020 07:22 |
|
The Management posted:number 5 is the out of memory killer. it sucks. and killing processes that have other processes depending on them can be catastrophic and unrecoverable, requiring a userland reboot this is where I live right now, embedded devices that have effectively no swap (some use ZRAM) and run a bunch of javascript in 512MB of RAM. it is not good. anyway my ex-girlfriend wants to get back together and I've got some unrelated some poo poo happening in the next few days so it will be a bit before I can properly argue for this gimmick position that I kind of also believe for real. namaste
|
# ? Aug 3, 2020 07:24 |
|
DuckConference posted:ex-girlfriend wants to get back together don’t DuckConference posted:embedded javascript don’t
|
# ? Aug 3, 2020 07:53 |
|
also, no overcommit in an embedded system where there’s no paging and no user-installed apps is perfectly reasonable.
|
# ? Aug 3, 2020 07:57 |
|
in general whenever one can define a single task as the primary function of the system it is plenty doable. e.g. ipados has a very easy time freeing up memory since it is low-impact to kill things (with tombstoning), and up until the focused app (and the system itself) is using all the memory themselves you can just go wild if you want. but even there i think overcommit is good practice, it is a really convenient feature and great optimization, and doing anything more than trivial attempts to recover from oom becomes incredibly messy very quickly. not least software would almost necessarily allocate defensively (e.g. allocate all the memory you could need at the start of a transaction rather than risk having to deal with an oom partway through), and i don't see any reason to believe that they'd do a better job of not allocating memory they then don't use (i.e. every single buffer being larger than is used in 99% of cases), so a system without overcommit would start killing stuff way way before a system with overcommit would degrade in any way. e: i guess if we had the halting problem solved and could have the oom killed just slay the process with the most pages allocated which it will turn out to not use we'd have the right incentives in place and the outcomes would be what the op is likely imagining. but really i think this captured this angle: carry on then posted:big "we wouldn't need processors faster than a pentium 3 if software developers weren't morons" energy itt Cybernetic Vermin fucked around with this message at 09:20 on Aug 3, 2020 |
# ? Aug 3, 2020 09:10 |
|
serious question time is your ex gf freaky in the sack 🤔
|
# ? Aug 3, 2020 09:43 |
|
having spent time attempting to run jobs on shared GPUs that don't have virtual memory, i love returning to the land of overcommitCybernetic Vermin posted:but even there i think overcommit is good practice, it is a really convenient feature and great optimization, and doing anything more than trivial attempts to recover from oom becomes incredibly messy very quickly. not least software would almost necessarily allocate defensively (e.g. allocate all the memory you could need at the start of a transaction rather than risk having to deal with an oom partway through) tensorflow does this, it always reserves all available GPU memory at process boot. this means you're SOL if you're trying to run a job on a shared node. wanna run some intensive physical simulations on this cluster? too bad, somebody is doing Machine Learning and that is more important than whatever you're trying to do of course if you try to reserve more memory than available on a GPU, your CUDA program will immediately segfault. that's also annoying overcommit is fine
|
# ? Aug 3, 2020 09:57 |
|
it should be last commit wins
|
# ? Aug 3, 2020 10:14 |
|
paper rock scissors???
|
# ? Aug 3, 2020 10:16 |
|
we should just call the doomkiller and let our hell programs be slain as is right
|
# ? Aug 3, 2020 14:08 |
|
echinopsis posted:serious question time we had good chemistry and got along well a lot of the time, because any anger or frustration she had with me was suppressed and compressed into a tiny little landmine that I would eventually trip over and lead to a fight that she would continue until I hated her and myself. then repeat.
|
# ? Aug 3, 2020 17:10 |
|
https://github.com/orsonteodoro/psdoom-ng1 https://www.youtube.com/watch?v=xc4pIvD0uHk&t=120s
|
# ? Aug 3, 2020 17:11 |
|
The Management posted:don’t sadly I can do nothing to prevent or change the javascript, and the system is already way too short on memory to ever turn off overcommit.
|
# ? Aug 3, 2020 17:12 |
|
sounds like you're the one short on memory if you're getting back with an ex!!!!! i don't mean it I just wanted to make the joke. you do what you need to do
|
# ? Aug 3, 2020 17:50 |
|
DuckConference posted:(gf stuff) looks like we found the true calling of this thread. I don’t know what it’s like dating in the time of the plague, but I do know that getting back with your ex is a desperation move and it will be depressing from the minute the afterglow of the first boning wears off. DuckConference posted:sadly I can do nothing to prevent or change the javascript, and the system is already way too short on memory to ever turn off overcommit. I’ve been there, with a super-slow storage device that made paging painful. the technical solution is none, it’s hosed and it’s going to be bad if it ever ships. now is the time to cover your rear end. the long term solution is not to work with idiots and to get sign off on the specs of the system before it is made. the short term solution is to blame the people who got you into this. go to your management and tell them that they’ve put you in an impossible situation and they will have to eat this turd that they created. then you can try to put in a heroic effort and rescue it, but you’re setting yourself up for not getting blamed when it’s still terrible.
|
# ? Aug 3, 2020 18:06 |
|
quote:sounds like you're the one short on memory if you're getting back with an ex!!!!! i legit wish she would watch Eternal Sunshine of the Spotless Mind and maybe internalize some of that maybe I should watch that movie again The Management posted:looks like we found the true calling of this thread. I don’t know what it’s like dating in the time of the plague, but I do know that getting back with your ex is a desperation move and it will be depressing from the minute the afterglow of the first boning wears off. i was sure that getting back together was a bad idea but when someone who cares a lot about you makes the argument that it's a good idea it messes with you quote:the technical solution is none, it’s hosed and it’s going to be bad if it ever ships. Too late, it's shipped in the millions. Just trying to do what I can to help un-gently caress it.
|
# ? Aug 3, 2020 19:10 |
|
if people want to, they can change, and look inside themselves and make efforts to reduce their toxic behaviour and ultimately no relationship or person is perfect, finding someone that loves and cares about you is precious. communication can be hard.. so hunt down some mdma
|
# ? Aug 3, 2020 20:06 |
|
echinopsis posted:if people want to, they can change, and look inside themselves and make efforts to reduce their toxic behaviour i feel like two breakups and a year of couples counseling is enough to conclude it isn't a viable relationship
|
# ? Aug 6, 2020 07:36 |
|
don’t overcommit to doomed relationships
|
# ? Aug 6, 2020 07:39 |
|
OP be honest was this thread intended to just be a complex /r/relationships post? because this romance really does sound like the oomkillerThe Management posted:alright lets do this. without overcommit your app that ran yesterday wont run today because you have an open browser tab that has too many images that you havent looked at in six hours. browsers should be hibernating tabs you haven't used in ages / other tabs by last use time and memory consumption when memory constraints arise
|
# ? Aug 6, 2020 09:29 |
|
DuckConference posted:i feel like two breakups and a year of couples counseling is enough to conclude it isn't a viable relationship yeah but she likes him
|
# ? Aug 6, 2020 10:01 |
|
|
# ? May 11, 2024 11:10 |
|
Kazinsal posted:OP be honest was this thread intended to just be a complex /r/relationships post? because this romance really does sound like the oomkiller and do you figure regular people will tend to prefer: a) the browser which randomly crashes an important tab as it runs out of memory to revive it; or; b) the browser which always runs perfectly (because on startup it runs malloc(0.8*TOTAL_PHYSICAL_MEMORY) on startup and then just runs jemalloc in that arena for its own use) of course on b) they will have other apps which crash, but guess which piece of software gets blamed? even among power users (or simple yosposters) i am quite sure you'd wind up running some utility where you statically assign like 30% of the total memory to the browser (telling it that that is the total physical memory) and handtweaking the percentages day to day. or possibly using a shareware bit of software which largely implements overcommit, compression, and dynamic limits in some way, getting all the enjoyment of macos-7-levels of system stability. e: as in, again: saying what software *should* do does you very little good as reality will not resemble that at all. Cybernetic Vermin fucked around with this message at 11:09 on Aug 6, 2020 |
# ? Aug 6, 2020 11:06 |