Категорија производа
Biz bilan bog'lanish
Qo'shish: 5F, Bino 3A, No.8 Xiyuanyi yo'li, West Leyk Science Park, Hangzhou, Xitoy
Tel: + 86-571-87858811
Mob: +8613616520351
E-mail: trade@qiyangtech.com
Yangiliklar
Дом > Yangiliklar > Садржај
Linux xotirasini qo'lda qanday chiqarish kerak? Misol sifatida I.xx6-ni oling
Jul 27, 2018

Birinchidan, odatiy vaziyat

Birinchi "bepul" buyruq:

Iqtiboslar:

[root @ server ~] # bepul -m umumiy ishlatilgan umumiy bepul buffers keshlangan Mem: 249 163 86 0 10 94 - / + buffers / kesh: 58 191 almashtirish: 511 0 511

ular orasida:

Iqtiboslar:

xotiraning umumiy xotirasi, allaqachon foydalanilgan xotira miqdori, bo'sh xotira soni, birgalikda bir nechta jarayonlarning umumiy xotirasi, bufer disklarining o'lchami Bufer kesh va keshlangan kesh-tamponlar / kesh xotirasi: buffers - keshlangan + buffers / keshsiz + buferlar + keshlangan mavjud xotira = bo'sh xotira + buferlar + keshlangan.

Ushbu asos bilan siz hozirda 16MB, bepul 86MB, bufer va keshlash uchun ishlatilganligini bilishingiz mumkin 10MB, 94MB.

Keyin nusxa faylini ishga tushirganimda xotirada biron bir o'zgarish mavjudmi yoki yo'qligini ko'rib chiqaylik.

Iqtiboslar:

[root @ server ~] # cp-r / etc ~ / test / [root @ server ~] # bepul-ishlatiladigan umumiy bepul buffers keshlangan Mem: 249 244 4 0 8 174 - / + buffers / cache: 62 187 almashtirish : 511 0 511

Ilovaning amalga oshirilishiga buyurtma berganimdan so'ng, 4MB uchun bepul 244MB, 8MB uchun buferlar uchun ishlatilgan va 174MB uchun keshlangan. Xudo, hamma keshlangan tomonidan egan. Ajablanmang, bu faylni o'qish amaliyoti samaradorligini oshirishdir.

Diskdan foydalanish samaradorligini oshirish maqsadida Linux Linuxning kesh-keshiga qo'shimcha ravishda (VFS uchun, fayl yo'lining nomini inode formatga aylantirishni tezlashtiruvchi) ba'zi bir aniq dizaynni ishlab chiqdi, shuningdek ikkita asosiy kesh yo'lini oldi: Buffer

Kesh va sahifa xotirasi. Birinchisi diskda bloklarni o'qish va yozish uchun ishlatiladi, ikkinchisi faylni o'qish va yozish uchun ishlatiladi. Ushbu kesh samarali tarzda qisqartirildi

G / Ç tizimiga qo'ng'iroq qilish vaqti (o'qish, yozish, sotib olish kabi).

Keyin kimdir vaqt o'tishi bilan so'zga chiqqan bo'lsa, Linux avtomatik ishlatilgan xotirani avtomatik ravishda chiqaradi. Bir muddat kutib turing, yana ozodlikka chiqishni tekshirish uchun bepul foydalanamiz.

Quotes

[root @ server test] # free -m umumiy ishlatilgan umumiy bepul buffers keshlangan Mem: 249 244 5 0 8 174 - / + buffers / cache: 61 188 almashtirish: 511 0 511

Hech qanday o'zgarish yo'q ko'rinadi. (Haqiqiy holatda, xotira boshqaruvi almashtirish uchun ham tegishli)

Xotirani qo'lda ozod qila olamanmi? Javob yes!

Ikkinchidan, keshni qo'lda bo'shatish

/ Tinglash virtual fayl tizimi bo'lib, uni o'qish va uni yadro obyekti bilan aloqa vositasi sifatida yozishimiz mumkin. Boshqacha aytganda, Siz / proc faylini joriy yadro harakatlariga o'zgarishlar kiritish uchun o'zgartirishingiz mumkin. Keyin xotirani bo'shatish uchun / proc / sys / vm / drop_caches ni sozlashimiz mumkin. Jarayon quyidagicha:

Yo'naltirilgan [root @ server test] # mushuk / proc / sys / vm / drop_caches 0 Birinchidan, / proc / sys / vm / drop_caches qiymatlari 0 ga teng. Iqtibos [root @ server test] # sync

Sinxronlash buyrug'ini qo'lda bajaring (Tavsif: sinxronlashtirish buyrug'ini ishlatish uchun sinxronlash buyrug'i). Agar tizimni to'xtatish kerak bo'lsa, fayl tizimining yaxlitligini ta'minlash uchun sinxronlash buyrug'ini bajaring .sync

O'zgartirilgan i-tugunlari, kechiktirilgan blokli I / U va o'qish-yozishni xaritalash fayllari, shu jumladan, barcha yozilmagan tizim buferlarini diskka yozib berish buyrug'i)

Iqtibos [root @ server test] # echo 3> / proc / sys / vm / drop_caches [root @ server test] # mushuklar / proc / sys / vm / drop_caches 3 to'plamlar / ilova / sys / vm / @server test] # free -m umumiy foydalanilgan bepul umumiy buferlar keshlangan Mem: 249 66 182 0 0 11 - / + buffers / kesh: 55 194 almashtirish: 511 0 511

Keyinchalik bepul buyruqni bajaring, siz hozirgi oqimni 18MB uchun bepul, 66 MB uchun ishlatasiz, 0MB uchun buferlar, 11MB uchun keshlangan. Shunday qilib, tampon va keshni samarali ravishda ozod qilishdir.

/ proc / sys / vm / drop_caches ishlatish quyida tavsiflanadi

Iqtibos / proc / sys / vm / drop_caches (Linux 2.6.16 dan beri) Ushbu faylga yozish yadro toza keshlarni, dentrlarni va xotiradan inode tushishini ta'minlaydi, bu xotira bo'sh bo'lishiga olib keladi. Vahima qutisidan ozod qilish uchun echo 1> / proc / sys / vm / drop_caches; dentries va inodes erkin foydalanish, echo 2> / proc / sys / vm / drop_caches; pagecache, dentries va inodes uchun bepul echo 3 / proc / sys / vm / drop_caches foydalaning. Bu buzilmaydigan operatsiya bo'lgani uchun va harom ob'ektlar bo'sh bo'lishi mumkin emas, foydalanuvchi avval sinxronlashni amalga oshirishi kerak.

Uchinchidan, mening fikrim

Yuqorida keltirilgan maqola ko'p yillar davomida juda ko'p foydalanuvchi tomonidan Linux xotira boshqaruvi savollariga "sezgir" javob berdi, men asosiy rivojlanish guruhining kelishuviga o'xshash his qilaman.

Men ushbu qiymatdan foydalanishni yoki foydalanuvchiga qiymatni belgilash kerakligini bilaman:

Quotes

1, bu odamdan ko'rinadi, bu qiymat 2.6.16 yadro versiyasidan keyin taqdim etiladi, ya'ni, operatsion tizimning eski versiyasi, masalan, qizil bayroq DC 5.0, RHEL 4.x oldingi versiyasi ;

2, agar tizim xotirasi kuzatuv uchun etarlicha bo'lsa, men almashtirishni va ikkala qiymatning si-ni o'lchamlarini ko'rishni istayman;

Foydalanuvchi keng tarqalgan savol bo'lsa, nega bu qadar kichik bo'lganligi, dastur yopilgandan keyin xotirada qolmasligi kerakmi?

Lekin, aslida, bu Linuxning xotira boshqaruvidan Windows-dan farqli ekanligi hammamizga ma'lum, chunki xotira etarli emas, bepul ikkinchi qatorning so'nggi qiymatini ko'rishingiz kerak:

Quotes

- / + buffers / kesh: 58 191

Bu tizim uchun mavjud bo'lgan xotira miqdori.

Haqiqiy loyiha agar dasturda xotira migratsiyasi, toshqin muammosi kabi muammolarga duch kelsa, almashtirishni ishlatishdan ko'ra tezroq qaror qabul qilishi mumkin, ammo erkinlik yuqoriroq ko'rinadi.

Aksincha, agar foydalanuvchi tizimga qiymatni o'zgartirishni taklif qilsa, bu holda xotirani "bo'shatish" mumkin, bepul bo'ladi. Foydalanuvchining fikricha nima bo'ladi? Ular operatsion tizimni "muammo" deb hisoblaydilarmi?

Masalan, yadro buferi yoki keshni tezda o'chirib tashlashi mumkin (bu yuqoridagi operatsiyadan ko'rish mumkin), lekin yadro buni qilmadi (asl qiymati: 0), biz faqat o'zgartirish kerak emas u tasodifiy.

Oddiy sharoitlarda dastur barqaror tizimda ishlaydi va erkin qiymat barqaror qiymatda qoladi, garchi u kichikroq ko'rinishi mumkin.

Xotirada kam bo'lsa, dastur xotira, OOM xatosi va boshqa muammolarni bartaraf eta olmaydi, shuning uchun ilovaning sabablarini tahlil qilish kerak, masalan, foydalanuvchi miqdori juda katta bo'lib, bu xotira etishmasligiga olib keladi, xotira to'lib toshishi mumkin, aks holda bo'sh joyni bo'shatish uchun majburlash uchun buferni tozalang, shuning uchun u muammoni vaqtinchalik qalqonga solishi mumkin.

Ya'ni, dasturiy ta'minotni ishlab chiqish bosqichida bo'lmaganda, xotira etishmasligi tashqari, xotira foydalanishni aniqlash uchun buferni vaqtincha tozalash kerak; yoki ilova dastur xotira uchun muammo bo'lsa-da, qo'llab-quvvatlamaydi va vaziyatdan qochib qutula olmaydi, biz faqat bufer vaqtini tozalashni ko'rib chiqamiz. (Afsuski, bunday dasturlar odatda eski operatsion tizim versiyasida ishlaydi, yuqoridagi operatsiyani ham hal qila olmaydi).


QY-IMX6-V.jpg

  • Newsletter
  • Категорија производа
  • Biz bilan bog'lanish
    Qo'shish: 5F, Bino 3A, No.8 Xiyuanyi yo'li, West Leyk Science Park, Hangzhou, Xitoy
    Tel: + 86-571-87858811
    Mob: +8613616520351
    E-mail: trade@qiyangtech.com
  • QR Code
  • Mualliflik huquqi © Zhejiang Qiyang Intelligent Technology Co., Ltd Barcha huquqlar himoyalangan.