Kontaktirajte podršku

Odgovaramo e-poštom, obično u roku od dva dana.

Radi zaštite od zloupotrebe, Google reCAPTCHA proverava ovo slanje. Pritom se podaci prenose Googleu. Skripta se učitava tek kada otvorite ovaj formular.

← Sve objave

Datoteka od 870 MB u tmpfs-u i restart koji je usledio

O sadržaju i njegovoj proveri

U ovom članku

Dana 28. avgusta u 19:35 raspakovao sam dnevnik pristupa za jedan dan u /tmp kako bi se dva dana mogla pročitati u jednom prolazu. U 19:44 mašina se restartovala.

šta mašina ima i šta je zauzela jedna datoteka 3.794 MB memorije, od čega /tmp može da primi 1.900 870 MB upisano u njega u 19:35 19:35 — dnevnik za jedan dan raspakovan u /tmp da bi se dva dana čitala odjednom 19:44 — SSH ne odgovara, sajt odgovara za 11 s umesto za 0,1 19:47 — mašina je opet tu, uptime 0 minuta MariaDB se podiže sa oporavkom nakon pada: gašenje nije bilo čisto žurnal ne preživljava restart, pa se ovo ne može dokazati — samo datirati

Svojstvo koje nije provereno

Na ovoj mašini /tmp je tmpfs. To je memorija. df prikazuje 1,9 GB slobodnog prostora i ne kaže ništa o tome odakle taj prostor dolazi, a mašina ukupno ima 3.794 MB.

Dakle, datoteka od 870 MB otišla je u četvrtinu memorije malog servera koji je istovremeno služio sajt i izvršavao tuđi probni zadatak. Devet minuta kasnije SSH je prestao da prima veze, sajt je odgovarao za 11 sekundi umesto za 0,1, a nedugo zatim vratio se sa uptime-om od nula minuta.

Šta se može reći, a šta ne

MariaDB se podigla sa oporavkom nakon pada, što znači da gašenje nije bilo čisto. Preko toga, iskren odgovor je da se ovo ne može dokazati: žurnal na ovoj mašini je privremen, ne preživljava restart, i nema kern.log sa redom o nedostatku memorije. Dokaz je vremenska oznaka devet minuta pre događaja i datoteka na pogrešnom mestu.

Vredi to zapisati onako kako jeste, a ne kao zaključak. „Napunilo je memoriju i kernel je odustao“ je verodostojna priča. Nije izmerena, a razlika je ovde važnija od sigurnosti.

Kolika je bila šteta

Nikakva koja bi se mogla pronaći. CHECK TABLE na pet najvažnijih tabela vratio je OK, brojevi redova nisu se promenili, brojanje je tog istog dana i dalje beležilo, i svih šesnaest zakazanih poslova bilo je netaknuto. Sajt je ponovo odgovarao za 0,14 sekundi.

Jedna stvar je izgubljena: dugotrajan posao druge sesije na istoj mašini. Nije imao veze sa ovim radom i pao je sa svim ostalim, a to je deo prekida koji nijedna lokalna provera ne prijavljuje.

Pravilo koje je iz toga proisteklo

Dnevničke datoteke ovde imaju od 700 do 900 MB dnevno. Raspakovati jednu u /tmp znači staviti četvrtinu memorije mašine na mesto koje liči na disk, a ponaša se kao RAM.

Velike privremene datoteke idu u /var/tmp ili u početni direktorijum, a oba su na disku. Još bolje, uopšte se ne raspakuju: zcat -f file.gz | awk ... čita u toku i ne treba mu odredište. Svako merenje u objavama koje su usledile urađeno je na taj način.

Šta se može uopštiti

Sistem datoteka prijavljuje koliko ima mesta. Ne prijavljuje od čega se to mesto sastoji, a ta dva pitanja imaju različite odgovore upravo na sistemima gde je to najvažnije.

Provera je jedan red i preskočena je jer je datoteka bila „privremena“. Privremena je zaista bila. Bilo je to pogrešno svojstvo na koje se mislilo.

Oglas