Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:laboratoare:laborator-04:run [2021/10/04 20:43]
127.0.0.1 external edit
uso:laboratoare:laborator-04:run [2022/10/25 18:13] (current)
andrei.dragomir1401
Line 10: Line 10:
 Fișierul executabil al unei aplicații este încărcat în memoria sistemului și codul este executat; din acest moment spunem că aplicația **rulează**. Fișierul executabil al unei aplicații este încărcat în memoria sistemului și codul este executat; din acest moment spunem că aplicația **rulează**.
  
-De exemplu aplicația Firefox (browser web) are asociat fișierul executabil ''​%%/​usr/​bin/​firefox%%'';​ aplicația Vim (editor) are asociat fișierul executabil ''​%%/​usr/​bin/​vim%%'';​ aplicația ​LibreOffice ​(suită office) are asociat fișierul executabil ''​%%/​usr/​bin/​libreoffice%%''​. Putem identifica fișierul executabil al unei aplicații folosind comanda ''​%%which%%'',​ urmată de comanda pentru pornirea aplicației ca mai jos:+De exemplu aplicația Firefox (browser web) are asociat fișierul executabil ''​%%/​usr/​bin/​firefox%%'';​ aplicația Vim (editor) are asociat fișierul executabil ''​%%/​usr/​bin/​vim%%'';​ aplicația ​nano (editor de text) are asociat fișierul executabil ''​%%/​usr/​bin/​nano%%''​. Putem identifica fișierul executabil al unei aplicații folosind comanda ''​%%which%%'',​ urmată de comanda pentru pornirea aplicației ca mai jos:
  
 <code bash> <code bash>
Line 17: Line 17:
 student@uso:​~$ which vim student@uso:​~$ which vim
 /​usr/​bin/​vim /​usr/​bin/​vim
-student@uso:​~$ which libreoffice +student@uso:​~$ which nano 
-/usr/bin/libreoffice+/usr/bin/nano
 </​code>​ </​code>​
-**Exercițiu**:​ Identificați fișierul executabil al aplicațiilor / utilitarelor ​ShutterGedit, ''​%%ls%%'',​ ''​%%df%%''​.+**Exercițiu**:​ Identificați fișierul executabil al aplicațiilor / utilitarelor ​''​%%shutter%%''​''​%%gedit%%''​, ''​%%ls%%'',​ ''​%%df%%''​.
  
 ===== Investigarea proceselor ===== ===== Investigarea proceselor =====
Line 153: Line 153:
 ===== Monitorizarea proceselor ===== ===== Monitorizarea proceselor =====
  
-Utilitarul ''​%%ps%%''​ afișează procesele și atributele acestora la un moment dat, un //​snapshot//​ al proceselor sistemului. De multe ori ne interesează și evoluția în timp a proceselor: schimbarea în consumul de resurse, apariția de noi procese. Adică să monitorizăm procesele. ​Monitorizarea ​proceselor înseamnă obținerea periodică de informații despre procese.+==== Monitorizarea ​folosind htop ====
  
-Evident, un mod simplu de monitorizare este să rulăm utilitarul ''​%%ps%%''​ periodic. Există, însă, utilitare dedicate pentru monitorizare. 
  
-==== Monitorizarea folosind top ==== +Utilitarul ''​%%htop%%''​ este un utilitar ​de monitorizare a proceselor în lumea Linux. Este echivalent Task Manager din Windows.  
- +Monitorizarea proceselor este o activitate foarte importantă în administrarea unui sistem de calcul. Un proces care, intenționat sau nu, consumă abuziv resursele sistemului va duce la o proastă funcționare sau chiar la blocarea sistemului. De aceea, utilitarele de monitorizare a sistemului (și a proceselor) sunt diverse. Amintim:
-Utilitarul ''​%%top%%''​ este utilitarul de bază de monitorizare a proceselor în lumea Linux. Este echivalent Task Manager din Windows. ​Rularea ''​%%top%%''​ duce la afișarea, în terminal, a proceselor sistemului și reîmprospătarea informației periodic (implicit ''​%%2%%''​ secunde). Imaginea de mai jos este o fereastră de terminal cu rularea ''​%%top%%'':​ +
- +
-{{:​uso:​laboratoare:​laborator-02:​top.png?​500|Utilitarul top}} +
- +
-''​%%top%%''​ afișează informații periodice despre procese **și** despre starea sistemului: consum de procesor, de memorie. La fiecare perioadă (implicit ''​%%2%%''​ secunde) informația afișată este reîmprospătată. +
- +
-La fel ca în cazul utilitarului ''​%%less%%'',​ ieșirea din utilitarul ''​%%top%%''​ se realizează folosind tasta ''​%%q%%''​((''​%%top%%''​ este un utilitar interactiv. Adică în timpul rulării sale utilizatorul poate interacționa cu procesele sau poate modifica informațiile afișate. De exemplu, folosirea tastei ''​%%M%%''​ într-o rulare ''​%%top%%''​ afișează procesele sortate după consumul de memorie. Un sumar al comenzilor interactive din ''​%%top%%''​ se obține folosind tasta ''​%%?​%%''​. +
-)). +
- +
-==== Utilitarul htop ==== +
- +
-Un utilitar similar ''​%%top%%''​ ceva mai prietenos este utilitarul ''​%%htop%%''​((Monitorizarea proceselor este o activitate foarte importantă în administrarea unui sistem de calcul. Un proces care, intenționat sau nu, consumă abuziv resursele sistemului va duce la o proastă funcționare sau chiar la blocarea sistemului. De aceea, utilitarele de monitorizare a sistemului (și a proceselor) sunt diverse. Amintim:+
  
   * ''​%%iotop%%'':​ utilitar pentru monitorizarea consumului de I/O al proceselor   * ''​%%iotop%%'':​ utilitar pentru monitorizarea consumului de I/O al proceselor
   * ''​%%sysstat%%'':​ o suită de utilitare pentru monitorizarea sistemului (procese, memorie, I/O, rețea)   * ''​%%sysstat%%'':​ o suită de utilitare pentru monitorizarea sistemului (procese, memorie, I/O, rețea)
-)). La fel ca în cazul ''​%%top%%'',​ utilitarul ​''​%%htop%%''​ rulează în linia de comandă prin introducerea comenzii ''​%%htop%%''​ și pornește, în terminal, o fereastră interactivă,​ ca în imaginea de mai jos:+Utilitarul ​''​%%htop%%''​ rulează în linia de comandă prin introducerea comenzii ''​%%htop%%''​ și pornește, în terminal, o fereastră interactivă,​ ca în imaginea de mai jos:
  
 {{:​uso:​laboratoare:​laborator-02:​htop.png?​500|Utilitarul htop}} {{:​uso:​laboratoare:​laborator-02:​htop.png?​500|Utilitarul htop}}
Line 197: Line 184:
 Ca să terminăm forțat (omorâm) un proces folosim semnale. Un semnal este o notificare trimisă de utilizator sau de sistemul de operare către un proces. Nu este obligatoriu ca un semnal să omoare procesul care îl primește, dar este cel mai des întâlnit comportament,​ și principala utilizare a semnalelor. Ca să terminăm forțat (omorâm) un proces folosim semnale. Un semnal este o notificare trimisă de utilizator sau de sistemul de operare către un proces. Nu este obligatoriu ca un semnal să omoare procesul care îl primește, dar este cel mai des întâlnit comportament,​ și principala utilizare a semnalelor.
  
-Ca să trimitem un semnal unui proces trebuie să știm PID-ul acestuia și folosim utilitarul ''​%%kill%%''​ urmat de PID-ul procesului. Adică, dacă pornim într-un terminal un proces ''​%%sleep%%''​ folosind comanda de mai jos:+Ca să trimitem un semnal unui proces trebuie să știm PID-ul acestuia și folosim utilitarul ''​%%kill%%''​ urmat de PID-ul procesului. Se folosesc mai multe terminale in paralel. Adică, dacă pornim într-un terminal un proces ''​%%sleep%%''​ folosind comanda de mai jos:
  
 <code bash> <code bash>
Line 260: Line 247:
  
   * Omorâți shellul curent.   * Omorâți shellul curent.
-  * Porniți o aplicație ''​%%shutter%%''​. Porniți o aplicație ''​%%libreoffice%%''​. Porniți o aplicație ''​%%firefox%%''​. Porniți o aplicație ''​%%transmission-gtk%%''​. Omorâți aceste procese folosind utilitarul ''​%%kill%%''​.+  * Porniți o aplicație ''​%%vim%%''​. Porniți o aplicație ''​%%htop%%''​. Porniți o aplicație ''​%%firefox%%''​. Omorâți aceste procese folosind utilitarul ''​%%kill%%'' ​intr-o singura comanda. 
 +<​note>​Observati cum firefox a pornit multiple procese pentru o singura pagina. (Firefox folosește o caracteristică numită multiprocesare;​ În loc să ruleze totul într-un singur proces, diferite componente ale browserului sunt impartite in procese separate). 
 +</​note>​
  
  
Line 282: Line 271:
 Scriptul ''​%%cpu_hog%%''​ pornește un proces care execută o buclă infinită. Scriptul ''​%%cpu_hog%%''​ pornește un proces care execută o buclă infinită.
  
-Observați, cu ajutorul comenzii ''​%%top%%'',​ că procesorul este încărcat. Identificați procesul cel mai consumator de resurse și omorâți-l. Observați, cu ajutorul comenzii ''​%%top%%'',​ că acum procesorul nu mai este încărcat.+Observați, cu ajutorul comenzii ''​%%htop%%'',​ că procesorul este încărcat. Identificați procesul cel mai consumator de resurse și omorâți-l ​(uitati-va dupa comanda care a declansat procesul). Observați, ​tot cu ajutorul comenzii ''​%%htop%%'',​ că acum procesorul nu mai este încărcat.
  
 <​note>​ <​note>​
Line 288: Line 277:
 </​note>​ </​note>​
  
-**Note de subsol**+
uso/laboratoare/laborator-04/run.1633369426.txt.gz · Last modified: 2021/10/21 10:53 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0