Практические работы / Задания / ПЗ-3 L Детальное изучение процессов. Наблюдение за многозадачным вычис
.pdfДетальноеизучение процессов.Наблюдениемногозадачным вычислительнымпроцессом
Цельработы :
• Получениеинформациизапущенныхпроцессах |
|
•Получениеинформацииобиспользуемыхпроцессамиресурсах
•Представлениерезультатовразличномвиде
• Исследованрежимавлияниямногозадачногоприоритета |
|
процесса навремя его |
|||
выполнения |
|
|
|
||
|
|
|
Методическиерекомендации |
||
Процесс – этос вокупннабораисполняемыхкоманд,стьассоциированныхнимресурсов |
|||||
иконтекст |
авыполнения |
, управляемаяоперационно |
й системой.Процессможетсодержать |
||
несколькопотокисп.Потоклненявляютсамоия наборамистоятельиспол яеымиых |
|
|
|||
команд,ноимеютдоступобщимресурсамвоегопроцесса.Какправило,диспетчеризацию |
|
|
|||
операционнаясистемавыполименауровнепояетно, основноков |
|
й единицей управления |
|||
являвсжепроцесстся. |
|
|
|
|
|
Идентификацияпроцессов |
|
|
|
|
|
Cистемаидентифицирупроцессыпоуникальному,называемомурут |
|
|
|||
идентификаторомпроцессаили |
|
PID (process ID). |
|||
Все проце,работающиевссыистемеGNU/Linux,организовавидедерева.Корэтогонемы |
|
||||
дереваявляется |
init – процесссистемногоуровня,запускаемы |
й вовремязагрузки.Длякаждого |
|||
процессахранитсяидентифего ипроцессательскогокатор( |
|
|
PPID, Parent Process ID). |
||
Упроцесса |
init |
PPID равен0. |
|
|
|
Получобщихсведениние |
|
й озапущенныхпроцессах |
|
||
ps (process status) |
|
|
|||
Запуск ps безаргументовпокажеттолькотепроцессы,которзапущеныбыливами |
|
||||
привязаныкиспользуемомувамитерминалу. |
|
|
|
||
Чаистопользуемыепараметры: |
|
|
|
||
a – вывпро,запущенныхдцесвспользователямиеми; |
|
|
|||
x – вывпробездуправляющегоцессовтермилисуправляющимналатерминалом,но |
|
|
|||
отличающимсяиспользуемоговами; |
|
|
|
||
u – выводдлякаждизпроцессовимго |
|
ени запустившегользователяврзапускамениго. |
|||
Обозначенияколонвтипвыкомандывомде |
|
|
ps: |
||
PID, PPID – идентпроцессаиегофикадителяор |
|
; |
|||
%CPU – доляпроцессорнвремени,выделеннаяоцессуго |
|
; |
|||
%MEM – процентиспользуемо |
й оперативной памяти; |
||||
VSZ – виртуальный размерпроцесса |
; |
|
|||
TTY – управляющий терминал,изкоторогозапущенроцесс |
; |
||||
STAT– статуспроцесса |
; |
|
|
|
|
START – времязапускароцесса |
; |
|
|
||
TIME – времяисполнениянапроцессоре |
|
; |
STAT); |
||
Обозначесостояния |
й процессов(колонке |
|
|||
R – процессвыполняетсяданны |
й момент; |
|
|||
S – прожидацт.(е.спитссменее20секундт) |
|
|
; |
||
I – процессбезде |
йствует..(спитбольше20секунд) |
|
; |
||
D – прожидаетцессввода/выводаили(другогонедс ),лгогобытиянепрерываемы |
|
й; |
|||
Z – zombie-процесс; |
|
|
|
T – процессостановлен |
. |
|
|
|
|
|
|
|
|
|||
|
|
pstree |
|
|
|
|
|
|
|
|
|
|
|
|
Команда pstree выводитпроцессыформедерева |
|
|
|
, можносразуувидетьродительские |
|
|
||||
процессы.Чаи топользуемыепараметры: |
|
|
|
|
|
|
|
|
|
|||
-p – выPIDвсеходпроцессов |
|
|
|
|
|
|
|
|
|
|||
-u – выводименипользова,запуспроцесс.тившегоеля |
|
|
|
|
|
|
|
|
||||
|
|
top |
|
|
|
|
|
|
|
|
|
|
top |
|
– программа,исподнаблюденияьзуемаязапроцессамиврежимереальноговремени. |
|
|
|
|
|
|
h.Наиболее |
|||
Полностьюуправляетсяклавиатуры.Выможетеполучитьспр,ннаклавишужаввку |
|
|
|
|
|
|
|
|||||
полезныекомандыдлямониторингапроцессов: |
|
|
|
|
|
|
|
|
|
|||
Shift+M – командаиспользуется |
|
сортирпроцессовобъемувкизанято |
|
й имипамятиполе( |
||||||||
%MEM); |
|
|
|
|
|
|
|
|
|
|
||
Shift+P – командаиспосортирльзуетсяпроцессовзанятомувкиимипроцессорному |
|
|
|
|
|
|||||||
времениполе( |
%CPU). Этометодсортировкипоумолчанию |
|
|
. |
|
|
||||||
U – командаисповыводальзуетсяпроцессов |
|
|
|
аданногопольз. topспроувасегоимятеля,ит |
|
|
||||||
необходввестимяпользователяи,монеего |
|
|
|
UID. Есливыневведетеникакогоимени,будут |
|
|
||||||
показанывсепроцессы; |
|
|
|
|
|
|
|
|
|
|
||
i – |
поумолчаниювывпроцессысеодятся,дажеспящие.Этакомандаобеспечиваетвывод |
|
|
|
|
|
|
|
||||
информациитолькорабвданнытающих |
|
|
й моментпроцессахпроцессы( ,укот рыхле |
|
STAT |
|||||||
имеетзначение |
R, |
Running). Повторниспользованиеэт |
|
|
й комавернетвасдыазадксписку |
|
|
|||||
всехпроцессов. |
|
|
|
|
|
|
|
|
|
|
||
Получениедетальныхсведени |
|
|
й озапущенныхпроцессах |
|
|
|
|
|
||||
|
|
/proc – псевдо-файловаясистема,котораяиспользуетсявкачествеинтерфе |
|
|
|
|
йсак |
|||||
структуданныхвяд.Больширеамрасположенныхв ство |
|
|
|
|
|
й файловдоступнытолькодлячтения, |
|
|
||||
нонекоторыефа |
йлыпозволяютизмеременныеняядра. ь |
|
|
|
|
|
|
|
||||
|
|
Каждомузапущенномупроцессусо |
|
|
ответствуетподкаталогименем,со |
|
впадающим с |
|||||
идентификатором этогопр (цесса |
|
PID). Каждый изэтихподкаталоговсодержитследующие |
|
|
||||||||
псевдо-файлы икаталогиуказаны( |
наиболеечасто |
использующиесядлямониторинга |
|
процессов). |
||||||||
|
|
cmdline – файл, содержащий полнуюкоманднстрокзапускароцесса. ю |
|
|
|
|||||||
|
|
cwd – ссылнатекущиа |
й рабочий каталогпроцесса. |
|
|
|
|
|||||
|
|
environ – файл,содержащи |
й окруженпроцес.Запвфаисеаи |
|
йлеразделяются |
|||||||
нулевымисимв, кофаламинце |
|
|
йлатакжеможетбытьнулево |
|
|
й символ. |
|
|
||||
|
|
exe – символьнсодержащаяссылка, ф ктполноеическвыполняемогофа |
|
|
|
|
|
йла. |
||||
|
|
fd – подкаталог,содержащи |
|
й однузаписьнакажды |
|
|
й файл,которы й вданны й момент |
|||||
откпроцессом.ытИмякаждо |
|
|
й такой записисоответствуетномеруфа |
|
йловогодескриптор |
аи |
||||||
являетсясимвольно |
|
й ссылкой нареальны |
й файл.Так, 0 |
– этостандартны й ввод, 1 |
– стандартный |
|||||||
вывод, 2 |
– стандартный выводошибокт.. |
|
|
|
|
|
|
|
||||
|
|
maps – файл,содержащи й адресаобл сте |
й памяти,которыеиспользуютсяпрограммо |
|
й в |
|||||||
данный момент,ипр |
авадоступакним.Форматфа |
|
dev |
йласледующи й: |
|
|
||||||
address |
|
perms |
offset |
|
inode |
pathname |
|
|
||||
08048000-08056000 r-xp |
00000000 |
03:0c |
64593 |
/usr/sbin/gpm |
|
|
||||||
08056000-08058000 rw-p |
0000d000 |
03:0c |
64593 |
/usr/sbin/gpm |
|
|
||||||
08058000-0805b000 |
rwxp |
00000000 |
00:00 |
0 |
|
/lib/ld-2.2.so |
|
|
||||
40000000-40013000 r-xp |
00000000 |
03:0c |
4165 |
|
|
|
||||||
bffff000-c0000000 |
rwxp |
00000000 |
00:00 |
0 |
|
|
|
|
||||
где address -- адресноепространство,занятоепроцессом |
|
|
|
, perms -- правадоступакнему: |
|
|||||||
r =можночитать |
, w =можнописать |
, x =можновып лнять |
|
, s =можноисп льзовать |
|
|
||||||
несколькимипроцессамисовместно |
|
, p = личнаякопи( приование |
|
записи); |
|
|
offset -- смещениевфа |
йле, dev -- устройствостарши( |
й номермладши: |
й номер); |
inode - |
|||||
- индексный дескрипторнаданномустро |
|
|
йстве, 0означает,чтосданно |
й облпанестьюмяти |
|
||||
ассоциированыиндексныескрипторы |
|
|
. |
|
|
|
|
||
|
stat – детальнаяинфопроцессеввидемациянабораполе |
|
|
|
й; |
|
|
||
|
status – предоставляетб |
óльшуючастьинформациииз |
stat вболее |
ёгкомдля |
|
||||
прочтенияформате. |
|
|
|
|
|
|
|
|
|
задач. |
sched – предоставляинфопроц,использующуюсямациюессетпланировщиком |
|
|
|
|||||
statm – предоставляетинформсостояниипамятивстранцию.Спполеицахсок |
|
|
й в |
||||||
файле: |
|
|
|||||||
size |
общий размерпрограммы |
|
|
|
|
||||
|
|
|
|
|
|||||
|
resident размеррезидентно |
й части |
|
|
|
||||
|
share |
|
разделяемыестраницы |
|
|
|
|
||
|
trs |
тексткод() |
|
|
|
|
|
|
|
|
drs |
данные/стек |
|
|
|
|
|
|
|
|
lrs |
библиотека |
|
|
|
|
|
||
|
dt |
"грязные" (dirty) страницы |
|
|
|
||||
Частьизэтихфа |
|
йловдоступнатольковдиректорияхпроцессов,запущенныхотимеда иного |
|
|
|
|
|||
пользилиприобращвателяотимении |
|
|
root. |
|
|
|
|||
Обрданныхопроцессахботка |
|
|
|
|
|
|
|
||
|
Обрдаонныхботкапроцессахпроводится,какправило,рамкорганизациих |
|
|
|
|
конвейера |
|||
командобработекспотоковиовыхкиили()черезциклическуюобрабстрфаотку |
|
|
|
|
|
йлов.Удобно |
|||
применятькоманды |
grep, sed, awk, tr, sort, uniq, wc, paste, а такжефункции |
||||||||
дляработысостроками. |
|
|
|
|
|
|
|
|
|
Получениеданныхобоперативно |
|
й памяти |
|
|
|
|
|||
|
free - возвращаетинформациюсвободно |
|
|
й ииспользуемо й памятивсистеме,как |
|
||||
физической,такивиртуально |
й (вразделеподкачкинаж дискестком). |
|
|
|
|
||||
Полявыводакоманды: |
|
|
|
|
|
|
|
|
|
|
total – общееколичестводоступно |
|
й физической памяти.Некотораяобластьоперативно |
|
й |
||||
памятиможетбытьзарезеяд,поэтомурвированапоказатель |
|
|
|
|
total можбытьереальногоньше |
|
|||
объемаоперативно |
й памяти. |
|
|
|
|
|
|
||
|
used – объемиспользуемо |
й памяти( |
used=total-free). |
|
|
|
|||
|
free - свободнаяпамять. |
|
|
|
|
|
|
|
|
|
shared - память,распрмеждупроцессделенн. амия |
|
|
|
|
|
|||
|
buffers - памятьиспользуемаявбуферах. |
|
|
|
|
|
|||
|
cached – память,исподкэшированияльзуемая. |
|
|
|
|
|
|||
|
-/+ buffers/cache - использованнаяпамятьбезучетабуферовкэше |
|
й/свободная |
||||||
памятьсуч |
ётомбуферовиКЭШе |
|
й. |
|
|
|
|
|
|
|
swap - использовразделподк. аниечки |
|
|
|
|
|
|
||
|
|
|
|
Задания налабораторнуюработу |
|
|
|
||
1. Исследомультипрогрпримереычислительныйватьпроцесса выполнения |
|
|
|
|
|
||||
|
самостоятразработанныхтрзаде(льпример,чbash |
|
|
|
|
- скриптов). |
|
|
|
2. Дляодниззадачойпределить: |
|
|
|
|
|
|
|
||
• |
|
номерпроцесса(PID)иимяпольз,егователя |
|
|
запустившего(USER); |
|
|
||
• |
|
текущийприоритетпроцес |
|
|
са(PR)иприоритет,присвемукомаенNICEндойый |
|
|
||
|
|
(NI); |
|
|
|
|
|
|
|
•VIRT — объемвиртуальнойпамяти,которуюиспользуетпроцесс;
•RES — объемфизическойпамяти,занятойданнымпроцессом;
• |
SHR — общийобъемразделяемой |
памяти; |
•S — текущий статус процесса: R — running; S — sleeping, Z — zombie;
•%CPU — процентиспользуемальноговременицентро;цессора
•%MEM — процентОЗУ,используемпроцесс; омй
•TIME+ — продолжительработыпроцессамомезапуска;ностьта
•COMMAND — названиекомандыпрограммы( ),котораяинициировалапроцесс.
количествопотоков.
3. Длявсехзарегистрированныхданны й моментвсистемепроцвыводинссоведитефа йл строки
ProcessID=PID : Parent_ProcessID=PPID : Average_Time=avg_atom.
Значения PPid и Pid возьмитеизфа |
йлов status, значение avg_atom изфа |
йлов |
|
sched, которыенаходятсявдиректорияхназваниями,соответствующими |
PID |
||
процессов |
/proc. Отсортируйтеэтистрпидентификаторамкиродительских |
|
|
процессов. |
|
|
|
4. Моновыполкаждуюизтрехьнонитьз |
|
адач,определитьвремяихвыполнения. |
|
5.Запуститьодновременнодруг(задруг)тризадачиопределить, времявыполнения пакета.
6.Изменитьприорипроцессаустановить,влияетзначеприонваиереитетамя выприложенияолнения.
7. Ответитьнаследующиевоп |
росы: |
|
• Вкакомслучаесуммарнвыполнениявремязадачбольше |
|
: припоследовательном |
илиодновремевыполнении? ном |
|
|
• Какизменилвремявыпкажотдельнойосьлнениязадачи |
припакетномзапуске |
|
приложений? |
|
|
• Какизменитсявремявыполненотдельнойзадачиприз я |
|
мененииееприоритета? |
Окажетливлизменениеяниеприоритетаоднойзадвремявыполнениячи |
|
|
другойзадачи?Объяснитьрезультаты. |
|
|