That's a lot of RAM for a login
-
Just trying to login to buy a CD, and what happens? It tried to allocate over 2GB.
-
@Dreikin to be pedantic, it only tried to allocate 8KiB : p
-
Double A second error from an incognito window (the first one took so long I thought it might be a cookie or cache issue) - and it basically says I never should have seen the first one:
-
@Dreikin infinite loop most likely.
-
@bb36e said in That's a lot of RAM for a login:
@Dreikin to be pedantic, it only tried to allocate 8KiB : p
True...after first allocating ~2GiB.
-
@Dreikin Yay, Magento!
Not really…
-
@asdf said in That's a lot of RAM for a login:
Yay, Magento!
Every time I see that name, I think of this…
http://static1.comicvine.com/uploads/original/11128/111284860/5227310-319054-magneto.jpg
-
@dkf Magenta from old Mandatory Fun Day is better
-
login is the most critical security aspect of an information system. it takes a lot of memory to do it properly
-
@dkf I actually said Magneto during a meeting when discussing an online shop.
-
@Dreikin said in That's a lot of RAM for a login:
@bb36e said in That's a lot of RAM for a login:
@Dreikin to be pedantic, it only tried to allocate 8KiB : p
True...after first allocating ~2GiB.
After first having allocated ~2GiB. This is a server we're talking about, right? And you're not the only person using it?
-
Magento: the software that refuses to run unless you give PHP a minimum memory limit setting of 256M, and ideally let every instance run up to 512M.
Every page load counts as an instance.
-
@Dreikin said in That's a lot of RAM for a login:
Double A second error from an incognito window (the first one took so long I thought it might be a cookie or cache issue) - and it basically says I never should have seen the first one:
In an OOM situation, the process is coming down hard (INB4 ). It can't be arsed to do tasks like check configuration to see if error printing is enabled, or pretty print error messages for that matter.
-
@error and the Magento logo reminds me of the stealth blade icon from the first Assassin's Creed game.
Can we get Ezio involved to, uh, take care of the Magento problem?
-
@error it's not a hard OOM. It says "allowed memory exceeded" which means the script asked for a 2GB limit, then tried to overstep that.
The actual OOM error wording is slightly different, it just says "out of memory" rather than "allowed memory exceeded"
Yay PHP knowledge!
-
@Arantor said in That's a lot of RAM for a login:
Magento: the software that refuses to run unless you give PHP a minimum memory limit setting of 256M, and ideally let every instance run up to 512M.
v1 was a desaster. In theory, it was great, customizable ecommerce system, but in reality the plugin system was a pain to work with, there was no API documentation whatsoever and if you ever had to change anything about the price calculation, you'd seriously consider committing suicide instead because the price calculation logic and especially its implementation were absolutely horrible.
Also, you definitely needed either some caching extension or more than one server if your site was supposed to support more than 20 users at a time.
v2 supposedly fixed most issues, but I haven't used it since I'm no longer a web developer. Last I heard (during the alpha phase), they ripped out the template system again and went back to PHP as a template language, so I doubt it has actually improved significantly.
The saddest thing, though, is that most alternatives are worse.
-
@masonwheeler said in That's a lot of RAM for a login:
@Dreikin said in That's a lot of RAM for a login:
@bb36e said in That's a lot of RAM for a login:
@Dreikin to be pedantic, it only tried to allocate 8KiB : p
True...after first allocating ~2GiB.
After first having allocated ~2GiB. This is a server we're talking about, right? And you're not the only person using it?
Like @arantor said later, I'm pretty sure this isn't per server, maybe not even per user, but per script. Also, yeah, I'm pretty sure I'm not the only one (attempting to be) using it; it's the online shop for Napalm Records - a major record label for metal.
-
@Dreikin correct.
To explain a bit more thoroughly, PHP has a setting that sets a "soft" limit of memory that scripts are allowed to consume.
In current versions the default is 128M, meaning that for every script that runs (= one page being served, typically), that script could theoretically consume 128M of memory, and trying to allocate above that results in a fatal error. This is still subject to the system physically having enough memory to give out to the script; you can't just say "let my script consume 100GB" on a machine that doesn't have it - the alloc request will fail and you get the real "Out of memory" error.
So, at some point in the lifetime of that script, either at config time or during runtime, the limit was upped to 2G, so that the script could allocate anything up to that but not beyond.
It's really just a safety measure to prevent runaway scripts eating all the memory. But 2G is a stupid high number, even for a platform that flat out asks you to up the numbers from the defaults - the default is 128M, last I checked Magento they insisted on 256M minimum, 512M recommended... And this is the bottom limit to serve any page on the platform.