Виртуализация на Linux, който използва суап
Получаване на информация за това кой използва суап.
Има ситуации, когато имате нужда, за да видите кой използва Swap и до каква степен. За съжаление, готовия програмни nenashlos и информация, което трябва да се получи. За спасяването както винаги идва Баш.Има няколко известни факти.
- в / ргос налична информация за всички стартирани процеси;
- ако се вгледате в / ргос / $ PID / статус можете да видите използването на паметта на процеса с определения на процес;
- за всеки процес, можете да видите VmSwap линия, количеството данни, поставени в замяна.
- Следователно, за да получи необходимата информация, за да се изчисли всички записи за суап за всички процеси.
1. Необходимо е да получите всички процеси на директории в / ргос
# Виж / Proc / -maxdepth 1 -тип г | Впиши -E "[0-9] +"
2. Необходимо е да се изчисли при използването на суапи в един процес
# Swap = $ (Впиши VmSwap $ реж / статус 2> / сътрудничество / нула | AWK '')
3. И за да получите името на процес
# Пс ч -p $ PID -o команд Сега ние кръст нашия екип, произведен в сценария
# Vi бин / getswap.sh
#! / Bin / ш
# Вземи текущата употреба суап за всички стартирани процеси
за реж в $ (намери / Proc / -maxdepth 1 -тип г | Впиши -E "[0-9] +"); правя
PID = $ (ехо $ реж | нарязани -d / -f3)
CMD = $ (PS з о Comm -р $ PID)
суап = $ (Впиши VmSwap $ реж / статус 2> / сътрудничество / нула | AWK '')
ако [. -Z $ суап] [$ Размяна -NE 0]; след това
ехо "PID: $ PID команда: $ ПМС - SwapUsed: $ суап KB"
Fi
направил | нещо -nk5 | колона -t
Благодаря ви за вашия скрипт. Предлагам леко се е подобрила:
ако [. -Z $ суап] [$ Размяна -NE 0]; след това
защото Ние не се интересуваме от процеси, които не използват замяната.