Ieškoti

Kaip stebėti RAM naudojimą VPS paslaugose?

0 komentarų
Paskelbta: 2021-05-31 | Atnaujinta: 2021-05-31 | Parašė: Vytenis | Užtruksite: 8 min.
RAM stebėjimas

Operatyvioji atmintis (angl. Random Access Memory) – kompiuterio ar serverio komponentas, skirtas duomenų perdavimui tarp procesoriaus (angl. CPU) ir kietojo disko (angl. Hard Drive).

Kaip ir rašėme straipsnyje apie CPU, šis komponentas atlieka skaičiavimus ir perduoda komandas vykdymui, tačiau neatlieka duomenų saugojimo funkcijos kietajame diske (SSD). Šioje vietoje yra reikalingas tarpinis komponentas, kuris sugeba greitai perduoti duomenis jų apdorojimui iš disko į procesorių ir grąžinti atgal išsaugojimui.

RAM yra vadinamas operatyviąją atmintimi (toliau – RAM) todėl, kad duomenys šiame komponente laikomi tol kol bus atliekami visi reikiami procesai. Kai tik yra užbaigiami visi reikiami veiksmai su duomenimis, jie būna pašalinami iš RAM. Šiame procese vienas iš svarbiausių dalykų yra greitis, kuris užtikrina, kad CPU ir disko veikla nebus stabdoma laukiant reikiamų duomenų.

Kokio tipo RAM yra naudojami serveriuose?

Serveriuose dažniausiai naudojami tokio paties tipo RAM plokštės, kaip ir standartiniuose kompiuteriuose, tačiau ženkliai skiriasi suteikiamas talpos dydis ir taktinis dažnis. Papildomai yra naudojami keli funkcionalumai, kurie yra ypač aktualūs serveriams. Taigi, kokio tipo RAM yra naudojami „Interneto Vizija“ serveriuose bei kuo jie pasižymi?

  • DDR4 (angl. Double Data Rate 4) – šį RAM tipą rasite daugumoje asmeninių kompiuterių. Jie taip pat naudojami ir serveriuose. Pilnas šios operatyviosios atminties pavadinimas – DDR-SDRAM, reiškiantis, kad yra naudojama sinchronizuota dinaminė atsitiktinio pateikimo atmintis, perduodanti duomenis du kartus per tą patį laiko vienetą. Ir tai jau ketvirta, šiuo metu plačiausiai naudojama, šio perdavimo tipo karta.
  • ECC (angl. Error correction code) – klaidų korekcijos kodas. Kuo ilgiau naudojama RAM atmintis, tuo didesnė tikimybė, kad apdorojimo metu atsiras tam tikros klaidos ir nebus perduodami visi reikiami duomenys. Tai gali turėti didelę įtaką procesoriaus gaunamame rezultate, todėl nuolatinis duomenų tikrinimas yra itin svarbus siekiant apdoroti ir perduoti jautrius duomenis. Todėl mūsų serveriuose naudojami RAM turi papildomą (devintą) mikroschemą, kurios darbas yra nuolatos tikrinti ar nėra bitų klaidų ir jas aptikus kaip įmanoma greičiau atlikti korekcijas.
  • REG (angl. Registered) – registruota atmintis. Papildomas funkcionalumas, kuris itin svarbus didelį kiekį operatyviosios atminties apdorojančiose sistemose – serveriuose. Operatyviojoje atmintyje laikinieji duomenys saugomi atsitiktine tvarka, kas padidina plokštės apkrovimą atrenkant reikiamą informaciją perdavimui. Atminties registravimas padeda sumažinti elektros apkrovą sistemos atminties kontroleriui, taip suteikiant galimybę palaikyti daugiau atminties modulių (leidžia padidinti atminties resurso kiekį) ir išlaikant sistemą kaip įmanomą stabilesnę.

Dažniausiai ECC ir REG naudojami kartu, siekiant padidinti suteikiamos atminties kiekį ir palaikyti sistemą kaip įmanomą stabilesnę. Nors abu komponentai pabrangina operatyviąją atmintį, šiuo atveju, nekorektiškai apdorojant itin didelius operatyviosios atminties resursus, klaidos gali kainuoti žymiai daugiau.

Operatyvosios atminties resursai

Didėjant duomenų srautams, operatyviosios atminties išnaudojimas augo nuolatos, nes tik didinant jos kiekį galima palaikyti greitą aplikacijų veikimą. RAM atminties veikimo efektyvumas iš esmės priklauso nuo atminties dydžio ir veikimo greičio, t.y. megabaitų ar gigabaitų bei taktinio dažnio. Atsižvelgiant į dabartinius duomenų srautus, kuriuos turi apdoroti virtualiai dedikuotas serveris, atmintis, kuri nėra didesnė nei 1GB, laikoma kaip nepakankama sklandžiam serverio veikimui. Mažesnė nei 1GB atmintis naudojama tik saugyklų serveriuose, kurių pagrindinė paskirtis yra duomenų saugojimas, todėl operatyvioji atmintis nėra efektyviai naudojama.

Didesnis kiekis RAM atminties padeda sparčiau vykdyti operacijas, nes kuo daugiau duomenų galės būti laikinai naudojami vienu metu, tuo greičiau jais galės pasinaudoti kiti komponentai. Turint per mažą atminties kiekį bus lėtinamas procesorius arba diskas. Pavyzdžiui, jeigu turite galingą procesorių, tačiau maža RAM kiekį, procesorius greičiau apdoros informaciją nei operatyvioji atmintis sugebės paimti iš disko ir perduoti procesoriui. Dėl šios priežasties procesorius turės dažniau kreiptis į operatyviąją atmintį su duomenų užklausomis ir taip bus nereikalingai lėtinamas procesoriaus darbas. Todėl renkantis serverio planą galite pastebėti, kad didėjant procesoriaus branduolių kiekiui, didėja ir suteikiamas RAM kiekis. Taip siekiama palaikyti resursų balansą serveryje.

Kitas operatyviosios atminties resursas, į kurį reikia atkreipti dėmesį – duomenų perdavimo greitis, skaičiuojamas megahercais (MHz). Kaip ir procesorius, RAM taip pat atlieka tam tikrą kiekį operacijų per vieną sekundę. Jūsų serveris gali turėti nors ir 64GB talpą, tačiau jeigu perdavimo greitis nebus pakankamas, procesorius vis tiek turės laukti reikiamų duomenų. Šiuo metu mūsų serveriuose naudojamos operatyviosios atminties plokštės, galinčios atlikti 2666 operacijų per sekundę. O tai, žvelgiant į šių dienų standartus, yra pakankamai didelis kiekis, nesudarantis papildomų vėlinimų ir leidžiantis sistemoms dirbti kaip įmanoma efektyviau.

Kaip nustatyti ar turimas RAM kiekis yra pakankamas?

Kalbant apie visus turimus serverio resursus, sutiksite, kad visada geriau jų turėti daugiau nei per mažai. Tačiau didesni resursai kainuoja brangiau, todėl nesinori permokėti už gaunamus resursus, kai turimo kiekio neišnaudojate. Todėl mes visada rekomenduojame pradėti nuo mažesnio plano, o vėliau, stebint resursų išnaudojimo situaciją, nuspręsti ar reikalingas plano didinimas.

Visi mūsų siūlomi planai yra optimizuoti suteikiant tarpusavyje proporcingus resursus tam, kad serverių bei mazgo veikimas būtų kaip įmanoma sklandesnis. Tačiau kiekvienas serveris naudoja skirtingą programinę įrangą, todėl reikiamų RAM resursų gali trūkti, nors procesorius ar diskas nėra pilnai išnaudojami. Todėl yra itin svarbu reguliariai sekti serverio grafikus bei monitoringo sistemas ir pastebėjus, kad resursų neužtenka, pašalinti šią problemą. Nes kitu atveju, serveris gali veikti nestabiliai, o tam tikra tarnyba gali visiškai nustoti veikti dėl operatyvios minties perpildymo.

Serverio atminties naudojimo grafikas

Mūsų monitoringo sistema nuolat stebi serverio veiklą ir pateikia grafinę informaciją apie visų komponentų išnaudojamus resursus. Serverio veiklos stebėjimo grafikai matomi prisijungus prie klientų sistemos ir pasirinkus serverio nuomos paslaugą. Norint patikrinti operatyviosios atminties išnaudojimą, atsidarykite grafiką Serverio atminties naudojimas:

RAM naudojimo grafikas

Grafike matysite reikšmes:

  • Used Memory – atminties kiekis, kurią rezervavo Linux sistema. Tai nereiškia, kad toks kiekis atminties yra naudojamas. Plačiau apie šį Linux veikimo principą rasite čia.
  • Active Memory – aplikacijų naudojamos operatyviosios atminties kiekis.

Žemiau grafiko nurodomos ir esamo išnaudojamo (angl. Current), vidutinio (angl. Average) ir didžiausio (angl. Maximum) reikšmės. Jeigu Active Memory reikšmė yra arti Jūsų turimo RAM kiekio, siūlytume planą keisti į didesnį.

Atminties išnaudojimo stebėjimas serverio terminale

Norint tiksliai sužinoti, kurios aplikacijos išnaudoja daugiausia operatyviosios atminties resursų ar matyti išnaudojimą esamu metu, reikia prisijungti prie serverio terminalo. Žemiau pateikiame dažniausiai serverio administratorių naudojamas komandas operatyviosios atminties stebėjimui:

  • free -m – komanda, pateikianti RAM išnaudojimą esamu metu. Pavyzdžiui:
VPS serverio terminalas

Ši komanda pateikia informaciją, kiek RAM serveris iš viso gali naudoti (angl. total), kiek šiuo metu naudojama (angl. used), kiek atminties galima būtų panaudoti esamu metu (angl. free) bei kiek iš viso yra laisvos atminties (angl. available). Parametras -m nurodo, kad atminties kiekis būtų nurodomas megabaitais.

  • top -o %MEM – komanda, naudojama platesniam serverio veikimo stebėjimui. Komanda pateikia koks naudotojas, kokia tarnyba, kiek procentų CPU bei atminties (%MEM) yra naudojama. Parametrai -o %MEM atlieka procesų filtravimą pagal daugiausią RAM išnaudojančius procesus. Skaičiai nurodomi procentinėmis dalimis t.y. kiek procentų iš 100% RAM naudoja konkretus resursas.
top komandos rezultatai
  • htoppatobulinta monitoringo komandos top versija. Šio įrankio pagalba galite interaktyviai stebėti ir valdyti procesus. Įrankis, kitaip nei top, kuris pateikia tik daugiausia resursų naudojančius procesus, nurodo visus vykdomus procesus. Informacija pateikiama naudojant skirtingas spalvas, kas padeda lengviau ją perprasti. Taip pat įrankis suteikia detalesnę informaciją apie kiekvieną vykdomą procesą nei top komanda. Norint naudotis šiuo įrankiu, turite jį įsidiegti į savo serverį. Instrukcijas, kaip tai atlikti Jūsų operacinėje sistemoje rasite šiuo adresu: https://snapcraft.io/htop
htop komandos rezultatai

Pastebėjus, kad serveris pradėjo veikti lėtai, o naudojamos aplikacijos neveikia taip sklandžiai, kaip turėtų, iš pradžių rekomenduojame kreiptis į serverio administratorių, kuris turėtų prisijungti prie serverio ir patikrinti išnaudojamą RAM kiekį bei laisvos atminties kiekį. Aptikus tam tikrus procesus, galima panaudoti kešavimą ir sumažinti išnaudojamų resursų kiekį. Jeigu vis dėlto nėra aptinkama procesų, kurie išnaudoja neįprastai daug atminties, reiškia turimos operatyviosioms atminties talpos serveriui nebeužtenka. Atlikus stebėjimą serveryje taip pat reikėtų patikrinti serverio grafikus – grafikuose bus matoma ar išnaudojamas RAM kiekis pakilo staiga, ar tai jau tęsiasi ilgą laiką. Jeigu RAM išnaudojimas kyla palaipsniui ir serverio administratorius teigia, kad nėra galimybės sumažinti šio resurso išnaudojimo, turite apsvarstyti plano keitimą į suteikiantį didesnius RAM resursus.

Apibendrinimas

Operatyviosios atminties komponentas yra vienas svarbiausių serveriuose. Jis užtikrina greitą bei sklandų duomenų perdavimą tarp procesoriaus ir disko. RAM apdorojami dideli kiekiai informacijos, todėl klaidos šiame procese gali kainuoti itin daug. Taip pat labai svarbu stebėti, kad ši atmintis nepersipildytų. VPS serverių naudotojams rekomenduojame reguliariai stebėti, kiek operatyviosios atminties resursų yra naudojama. Kitu atveju gali sutrikti serverio veikimas, nors procesoriaus bei kietojo disko resursai išlieka nepakankamai išnaudojami. Kiekviena naujai įdiegta aplikacija reikalauja savo RAM dalies, todėl augant svetainėms, gali reikėti didinti išskiriamą atminties kiekį ar atlikti efektyvius optimizacijos darbus.

Grįžti į sąrašą
0 komentarų
    Parašyti komentarą
    Atšaukti atsakymą