Keepalived test


Argumentlarni ps uchun sozlash



Yüklə 13,79 Mb.
səhifə62/125
tarix21.08.2023
ölçüsü13,79 Mb.
#140060
1   ...   58   59   60   61   62   63   64   65   ...   125
abdurakhmonov

Argumentlarni ps uchun sozlash


Ps buyrug'i bilan davom etsangiz, uning chiqishini ishlab chiqarish usulini o'zgartirish uchun bir nechta foydali argumentlar berishingiz mumkin. Agar siz a opsiyasidan foydalansangiz, odatdagidan ko'ra ko'proq ma'lumotni ko'rasiz:
ps a
Bu quyidagi kabi chiqishni ishlab chiqaradi:

ps a bilan biz avvalgidek chiqishni ko'rmoqdamiz, lekin qo'shimcha ma'lumotlar, shuningdek, yuqoridagi ustun sarlavhalari bilan. Endi biz PID, TTY, STAT, TIME va COMMAND uchun sarlavhani ko'ramiz. Ushbu yangi natijadan siz men ishlayotgan vim jarayonlari testfile nomli faylni tahrirlayotganini ko'rishingiz mumkin. Buni bilish juda yaxshi, chunki agar menda bir nechta vim sessiyasi ochiq bo'lsa va ulardan biri noto'g'ri ishlayotgan bo'lsa, men qaysi birini to'xtatishim kerakligini bilishni xohlardim.
Yuqorida rasmiy sarlavhani ko'rmagan bo'lsak ham, biz allaqachon PID va COMMAND maydonlarini ko'rdik. PID ustunini biz allaqachon ko'rib chiqdik, shuning uchun men bu haqda qo'shimcha tafsilotlarga kirmayman. BUYRUQ maydoni bizga amalda bajarilayotgan buyruqni bildiradi, agar biz jarayonni to‘g‘ri boshqarayotganimizga ishonch hosil qilishni yoki ma’lum bir foydalanuvchi nima ishlayotganini ko‘rishni istasak, bu juda foydali bo‘ladi (yaqinda men boshqa foydalanuvchilar uchun jarayonlarni qanday ko‘rsatishni ko‘rsataman. ).
TTY, STAT va TIME maydonlari yangi ; ps ni o'z-o'zidan ishga tushirganimizda ularni ko'rmadik. STAT maydoni bizga jarayonning holat kodini beradi, bu jarayon hozirda qaysi holatda ekanligini bildiradi. Holat uzluksiz uyqu ( D ), o'chirilgan ( Z ), to'xtatilgan ( T ), uzilishi mumkin bo'lgan uyqu ( S ) va ishga tushirish navbatida ( R ). Bundan tashqari, peyjing ( W ) mavjud, lekin u endi ishlatilmaydi, shuning uchun uni yopishning hojati yo'q. Uzluksiz uyqu - bu jarayon odatda kirishni kutayotgan va qo'shimcha signallarni qabul qila olmaydigan holat (bu bobda keyinroq signallar haqida qisqacha gaplashamiz). To'xtatilgan jarayon (zombi jarayoni deb ham ataladi) barcha niyat va maqsadlarga ko'ra o'z ishini tugatdi, lekin ota-onadan tozalashni kutmoqda. Amalga oshirilgan jarayonlar aslida ishlamaydi, lekin jarayonlar ro'yxatida qoladi va odatda o'z-o'zidan yopilishi kerak. Agar bunday jarayon ro'yxatda cheksiz qolsa va yopilmasa, u kill buyrug'iga nomzod bo'lishi mumkin, biz buni keyinroq muhokama qilamiz. To'xtatilgan jarayon odatda fonga yuborilgan jarayon bo'lib, keyingi bo'limda muhokama qilinadi. Uzluksiz uyqu dasturning ishlamayotganligini anglatadi: u uyg'onish uchun kirishni kutmoqda.
TTY ustuni jarayon qaysi TTY ga biriktirilganligini bildiradi. TTY teletayp mashinasiga ishora qiladi, bu atama juda boshqacha vaqt oralig'ida ishlatilgan. Ilgari teletayp mashinkasi simning boshqa uchidagi matn terish moslamasiga signallarni elektron tarzda yuborish uchun ishlatilgan. Shubhasiz, biz hozirda bunday mashinalardan foydalanmayapmiz, lekin kontseptsiya virtual nuqtai nazardan o'xshash. Serverimizda biz klaviaturamizdan ma'lumotlarni qurilmaga yuborish uchun foydalanamiz, keyin esa boshqa qurilmaga chiqdi. Bizning holatda, kiritish qurilmasi bizning klaviaturamiz va chiqish moslamasi bizning ekranimiz bo'lib, u to'g'ridan-to'g'ri serverimizga ulangan yoki SSH kabi xizmat orqali serverimizga ulangan kompyuterimizda joylashgan. Linux tizimida ko'pgina jarayonlar TTY da ishlaydi, bu (barcha maqsadlarda) kirishni qabul qiluvchi va chiqishni boshqaradigan terminal, virtual ma'noda teletayp mashinasiga o'xshaydi. Terminal - bu bizning serverimiz bilan o'zaro aloqa qilish usuli.
7.3-rasmda bizda ikkita jarayon tty1 ning TTY da, qolgan jarayonlar esa pts/0 da ishlaydi. Biz ko'rib turgan TTY haqiqiy terminal qurilmasi bo'lib, pts virtual (psevdo) terminal qurilmasiga ishora qiladi. Bizning serverimiz aslida bir necha tty seanslarni, odatda birdan ettigacha o'tkazishga qodir. Ularning har biri o'z dasturlari va jarayonlarini boshqarishi mumkin. Buni yaxshiroq tushunish uchun Ctrl + Alt + F1 dan F7 gacha bo'lgan istalgan funktsiya tugmachalarini bosib ko'ring (agar sizda jismoniy serverga jismoniy klaviatura ulangan bo'lsa). Har safar ekraningiz tozalangan va keyin boshqa terminalga o'tganini ko'rishingiz kerak. Ushbu terminallarning har biri bir-biridan mustaqil. Funktsiya tugmachalaringizning har biri ma'lum bir TTY ni ifodalaydi, shuning uchun Ctrl + Alt + F6 tugmalarini bosib, siz displeyni TTY 6 ga o'tkazasiz.
Aslini olganda, siz TTY 1 dan TTY 7 ga o'tasiz, ularning har biri o'zining ishlaydigan jarayonlarini o'z ichiga olishi mumkin. Agar siz ps a-ni qayta ishga tushirsangiz, o'sha TTY-larda boshlagan barcha jarayonlar chiqishda tty2 yoki tty4 kabi tty sessiyasi sifatida ko'rinishini ko'rasiz. Terminal emulyatorida boshlagan jarayonlarga pts belgisi beriladi, chunki ular haqiqiy TTY da ishlamaydi, aksincha psevdo-TTY.
Bu oddiy (TTY yoki pseudoTTY) bo'lgan narsa uchun uzoq muhokama edi, ammo bu bilim bilan siz haqiqiy serverda yoki qobiq orqali ishlaydigan jarayonni farqlay olishingiz kerak.
ps buyrug'i chiqishining TIME maydonini ko'rib chiqaylik. Bu maydon protsessorning ushbu jarayon uchun ishlatilgan umumiy vaqtini ko'rsatadi. Biroq, men taqdim etgan skrinshotdagi jarayonlarning har biri uchun vaqt 0:00. Bu birinchi navbatda chalkash bo'lishi mumkin. Mening holatimda, ayniqsa vim jarayonlari skrinshot olganimdan beri taxminan 15 daqiqa davomida ishlamoqda va ular hozir ham 0:00 foydalanish vaqtini ko'rsatmoqda. Aslida, bu jarayon bajarilgan vaqt emas, balki jarayonning protsessor bilan faol ishtirok etgan vaqti. vim holatida, bu jarayonlarning har biri ochiq faylga ega buferdir. Taqqoslash uchun, men ushbu bobni yozayotgan Linux mashinasi 92:51 vaqt bilan 759 jarayon identifikatoriga ega. PID 759 mening X serverimga tegishli bo'lib, u mening grafik foydalanuvchi interfeysim ( GUI ) va oyna imkoniyatlari uchun asos bo'lib xizmat qiladi. Biroq, hozirda ushbu noutbukning ish vaqti 6 kun va men buni yozganimda 22 soatni tashkil etadi, bu taxminan 166 soatga teng, bu PID 759 TIME yozuvida hisobot bergan vaqt bilan bir xil emas. Shunday qilib, mening noutbukim ketma-ket 6 kun ishlayotgan bo'lsa ham, X serveri protsessorning 92 soatu 51 daqiqasini ishlatgan. Xulosa qilib aytganda, VAQT ustuni jarayonning biror narsani hisoblash uchun protsessorga kerak bo'lgan vaqt miqdorini bildiradi va biror narsa qancha vaqt ishlayotganiga yoki ekranda qancha vaqt davomida grafik jarayon ko'rsatilishiga teng emas.
Keling, ps buyrug'i bilan davom etamiz va ba'zi qo'shimcha variantlarni ko'rib chiqamiz. Birinchidan, oldingi misolimizga u variantini qo'shganda nima olishimizni ko'rib chiqamiz, bu bizga quyidagi misol buyrug'ini beradi:
ps au
Bu quyidagiga o'xshash chiqishni ishlab chiqaradi:

7.4-rasm: ps au buyrug'ining chiqishi
Uni ishga tushirganingizda, ps a buyrug'idan farqni darhol sezishingiz kerak. Ushbu o'zgarish bilan siz foydalanuvchi identifikatoringiz va boshqa foydalanuvchilar tomonidan boshqariladigan jarayonlar ro'yxatini ko'rasiz. Uni ishga tushirganimda, men foydalanuvchi ( jay ) va root uchun chiqishda ro'yxatlangan jarayonlarni ko'raman. u opsiyasi siz ishlatishingiz mumkin bo'lgan keng tarqalgan variant bo'ladi, chunki ko'pincha serverlarni boshqarishda foydalanuvchilaringiz qanday fitnalarga duchor bo'layotganini kuzatish sizni ko'proq qiziqtiradi. Ammo, ehtimol, ps buyrug'ining eng keng tarqalgan qo'llanilishi quyidagi o'zgarishdir:
ps aux
X opsiyasi qo'shilgandan so'ng, biz endi chiqishimizni TTY ichidagi jarayonlar bilan cheklamaymiz (mahalliy yoki psevdo). Natijada, biz ko'proq jarayonlarni, jumladan, o'zimiz boshlagan jarayonga bog'liq bo'lmagan tizim darajasidagi jarayonlarni ko'ramiz. Davom eting va sinab ko'ring. Amalda esa, ps aux buyrug'i ko'pincha grep bilan muayyan jarayon yoki satrni qidirish uchun ishlatiladi. Misol uchun, siz barcha nginx ishchi jarayonlari ro'yxatini ko'rishni xohlaysiz. Buning uchun siz quyidagi kabi buyruqni bajarishingiz mumkin:
ps aux | grep nginx
ps aux buyrug'ini bajarmoqdamiz, lekin biz chiqishni grep ga o'tkazmoqdamiz, bu erda biz faqat nginx qatorini o'z ichiga olgan chiqish qatorlarini qidiramiz. Amalda, men ps dan tez-tez foydalanadigan usul, shuningdek, ko'plab boshqa ma'murlar uni ishlatayotganini payqadim. ps aux yordamida biz ko'proq natijalarni ko'rishimiz mumkin va keyin biz grep ga o'tish orqali uni qidirish mezonlari bilan qisqartirishimiz mumkin. Ammo, agar biz faqat ma'lum bir qatorga ega bo'lgan jarayonlarni ko'rsatishni xohlasak, biz quyidagilarni ham qila olamiz:
ps u -C nginx
nginx ga mos keladigan jarayonlar ro'yxati va tegishli tafsilotlarni o'z ichiga olgan chiqishni ishlab chiqaradi. Ps buyrug'ining yana bir foydali o'zgarishi, birinchi navbatda, eng ko'p protsessordan foydalangan holda jarayonlarni tartiblash orqali chiqishni saralashdir:
ps aux --sort=-pcpu
Afsuski, bu buyruq juda ko'p natijalarni ko'rsatadi va biz yuqori jarayonlarni ko'rish uchun yuqoriga qaytishimiz kerak edi. Terminalingizga qarab, siz juda uzoqqa (yoki umuman) aylana olmaysiz, shuning uchun quyidagi buyruq uni yanada toraytiradi:
ps aux --sort=-pcpu | head -n 5
Ushbu misolda ps aux buyrug'ini --sort opsiyasi bilan CPU foydalanish foizi ( -pcpu ) bo'yicha tartiblashdan foydalanmoqdamiz. Keyin men chiqishni bosh buyrug'iga o'tkazamiz, u erda men unga faqat beshta qatorni ko'rsatishni buyuraman ( -n 5 ). Aslida, bu menga yuklash vaqtidan beri eng ko'p CPU ishlatgan beshta eng yaxshi jarayonlar ro'yxatini beradi. Aslida, men ham xuddi shunday qila olaman, lekin uning o'rniga eng ko'p ishlatiladigan xotira bilan:
ps aux --sort=-pmem | head -n 5
Agar siz qaysi jarayonlar noto'g'ri ishlashini va oddiy bo'lmagan xotira yoki protsessordan foydalanishini aniqlamoqchi bo'lsangiz, bu buyruqlar uni qisqartirishga yordam beradi. ps buyrug'i administrator asboblar qutisi uchun juda foydali buyruqdir. Men keltirgan misollardan tashqari u bilan tajriba o'tkazing; ko'proq fokuslarni o'rganish uchun ps buyrug'i uchun man sahifalariga murojaat qilishingiz mumkin. Aslida, ps uchun man sahifasining ikkinchi bo'limi (misollar ostida) sinash uchun yanada aniqroq misollar beradi.
Endi biz ishlaydigan jarayonlarni qanday tekshirishni bilganimizdan so'ng, keyingi bo'limda biz muhimroq bo'lganlarga protsessor tomonidan qo'shimcha e'tibor berilishini ta'minlash uchun jarayonlarning ustuvorligini qanday o'zgartirishni ko'rib chiqamiz.

Yüklə 13,79 Mb.

Dostları ilə paylaş:
1   ...   58   59   60   61   62   63   64   65   ...   125




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin