Vianetsintä ja korjaus

Allowed memory size exhausted, näin korjaat muistin loppumisen

Muistin loppuminen WordPressissä

Kaksi virhettä esiintyy usein yhdessä. Allowed memory size of X bytes exhausted tarkoittaa että sivu tarvitsi enemmän muistia kuin sille annettiin. Maximum execution time exceeded tarkoittaa että sivu tarvitsi enemmän aikaa. Molemmat ovat oireita samasta asiasta, eli jokin tekee liikaa työtä yhden sivulatauksen aikana.

Lyhyesti

  • Rajan nostaminen on väliaikainen laastari, ei korjaus.
  • Tavallisimmat syyt ovat raskas lisäosa, iso kuva ja hallitsematon tuonti.
  • Jos raja tulee vastaan etusivulla, kyse on koodista eikä palvelimesta.

1. Katso missä virhe tulee

Missä virhe näkyyMitä se kertoo
Kuvaa ladattaessaKuva on liian suuri käsiteltäväksi nykyisellä muistirajalla
Päivityksen aikanaPaketin purkaminen ei mahdu rajaan
Tuonnissa tai viennissäTyö on liian iso yhdelle ajolle, se pitää pilkkoa
Tavallisella sivullaLisäosa tai teema tekee liikaa jokaisella latauksella

2. Nosta rajaa väliaikaisesti

Muistirajan voi nostaa lisäämällä wp-config.php-tiedostoon rivin define('WP_MEMORY_LIMIT', '256M');. Tämä on oikea toimenpide silloin kun tarvitset sivuston auki juuri nyt päästäksesi korjaamaan varsinaisen syyn. Se ei ole ratkaisu, koska raja tulee jälleen vastaan kun sivusto kasvaa.

3. Etsi mikä muistin syö

Kytke lisäosat pois päältä ja ota käyttöön yksi kerrallaan, kuten ohjeessa lisäosa rikkoi sivuston. Muistia syövät tyypillisesti sivunrakentajat, monikäyttöiset teemat, tilastolisäosat jotka kirjoittavat jokaisen käynnin tietokantaan, ja varmuuskopiolisäosat jotka pakkaavat koko sivuston kesken vierailun.

4. Pienennä kuvat

Suoraan kamerasta tuleva kuva voi olla useita kymmeniä megatavuja, ja WordPress luo siitä vielä useita kokoja. Skaalaa kuvat verkkoon sopivaan kokoon ennen lataamista. Tämä poistaa yhden yleisimmistä syistä kokonaan.

5. Pilko iso työ

Tuonnit, viennit ja massamuutokset kannattaa ajaa erissä. Moni työkalu tarjoaa erissä ajamisen valmiina, ja se on lähes aina parempi kuin rajojen kasvattaminen kunnes yksi ajo mahtuu.

6. Jos oire on hitaus eikä kaatuminen

Muistin ja ajan loppuminen ovat saman ilmiön ääripää. Jos sivusto ei kaadu mutta on hidas, aloita ohjeesta miksi WordPress-sivusto on hidas. Jos taas näkyviin tulee palvelimen virhe, katso 502, 503 ja 504.

Mitä ei kannata tehdä

Älä nosta rajaa kerta toisensa jälkeen ilman että kukaan katsoo mihin muisti menee. Se siirtää ongelman eteenpäin ja tekee siitä kalliimman, koska lopulta vastaan tulee palvelimen todellinen katto eikä asetusrivi.

Jos et halua tehdä sitä itse

Etsimme mikä muistin tai ajan syö ja korjaamme sen, emme vain nosta rajaa. Kerromme myös onko kyse yksittäisestä lisäosasta vai siitä että sivusto on kasvanut pakettinsa yli.

Katso miten korjaamme rikkoutuneen sivuston »