linia

Astăzi vom vorbi despre colectarea diagnosticelor în macOS

Conţinut

  • Informații despre calculatoare și programe
  • Serviciul director
  • Cache-ul serviciilor de director și lista de utilizatori
  • Citim și (nu) resetam valoarea în NVRAM
  • Statistici RAM
  • Resetarea memoriei cache a discului în memorie
  • Urmărirea accesului la sistemul de fișiere
  • Informații despre calculatoare și programe

    Dacă selectați „Despre acest Mac” în meniul „Apple”, apoi faceți clic pe butonul „Raport sistem”, veți vedea o mulțime de informații despre computer. Ei bine, utilitarul system_profiler este același lucru, dar de o sută de ori mai mult.

    Dacă apelați system_profiler fără parametri, informațiile vor fi afișate în întregime, ceea ce în cazul meu înseamnă 3,8 Mbytes de text. Așa că recomand să scrieți imediat ceva de genul system_profiler > ~/Desktop/profile.txt sau utilizați grep pentru a găsi linia dorită.

    macos
    Diagnosticare MAC

    Printre ceea ce scuipă system_profiler, veți găsi informații nu numai despre sistem și dispozitive, ci și despre toate programele, driverele, pluginurile, bibliotecile și fonturile. În același timp, părți ale sistemului și o grămadă de alte lucruri vor fi eliminate.

    Dacă nu sunteți interesat de toate acestea, scrieți system_profiler -detailLevel mini și atunci veți obține doar informații despre computer.

    De asemenea, puteți adăuga parametrul -xml pentru a face mai convenabilă procesarea informațiilor primite în script.

    Serviciul director

    Comunicarea cu serviciul de director este gestionată de utilitarul dscl — Directory Services Command Line, care la un moment dat a înlocuit netinfo. Te-ai săturat de trucuri de administrator de sistem? Așa este și nu ne vom opri asupra lor în detaliu.

    Câteva comenzi pentru însămânțare: dscl . -list /Users va lista toți utilizatorii și dscl . -citește /Utilizatori/ —informații despre utilizator sub formă de XML. Chiar și fișierul avatar este codat în interior!

    Apropo, dacă rulați dscl fără parametri, va intra în modul interactiv, unde puteți utiliza comenzile obișnuite cd și ls pentru navigare și puteți vizualiza conținutul ramurilor cu comanda citire.

    Cache-ul serviciilor de director și lista de utilizatori

    Un alt utilitar este adăugat la dscl - dscacheutil, acesta este responsabil pentru lucrul cu cache-urile serviciului de director. Probabil că îl știi mult mai bine decât dscl pentru că multă vreme a fost cel pe care a trebuit să-l rulezi pentru a goli memoria cache DNS.

    Apropo, în cele mai recente versiuni de macOS, acest lucru nu funcționează și, în loc de dscacheutil -flushcache, acum trebuie să scrieți killall -HUP mDNSResponder.

    Diagnosticare MAC

    În ceea ce privește dscacheutil, este convenabil să îl utilizați pentru a afișa o listă de utilizatori: dscacheutil -q user. Spre deosebire de ceea ce produce dscl, rezultatul este mult mai ușor de perceput.

    Citim și (nu) resetam valoarea în NVRAM

    Fiecare „Mac” are o memorie nevolatilă care stochează variabile importante pentru funcționarea computerului. Ce se află exact acolo? Comanda nvram vă va ajuta să aflați: scrieți nvram -xp și veți vedea totul.

    Există atât lucruri inofensive, cum ar fi nivelul sunetului și cea mai recentă dispunere a tastaturii, cât și exemple mai interesante ale tastei Find My Mac și parametrii EFI complet misterioși.

    Toate sunt prezentate în formă binară, iar singurul fragment din descrierea pe care l-am putut găsi este într-un document CIA scurs, postat pe WikiLeaks.

    Opțiunile pot fi setate cu comanda nvram =, eliminate cu comanda nvram -d sau încărcate dintr-un fișier cu nvram -f .

    Puteți reseta totul tastând nvram -c. Dar, de obicei, parametrii NVRAM sunt resetați numai dacă ceva a mers prost și computerul nu pornește. Pentrutrebuie să apăsați Alt-Cmd-P-R imediat după pornire și să țineți apăsat timp de 20 de secunde.

    Vă rugăm să rețineți: dacă modificați parametrii cu utilitarul nvram, aceștia nu vor fi scrisi imediat în memoria nevolatilă, ci numai atunci când computerul este oprit în modul normal.

    Statistici RAM

    Există o mulțime de moduri de a vedea cât de mult RAM este folosită. Poate că cel mai ușor este să deschideți secțiunea „Memorie” din „Monitorizare sistem”: acolo cei mai utili parametri sunt prezentați într-o formă vizuală. Din linia de comandă, cel mai bine este să folosiți top.

    Dacă aveți nevoie de cele mai detaliate informații, puteți consulta vm_stat. Dezavantajul acestui utilitar este că toate valorile sunt date în pagini egale cu 4 KB. Cu toate acestea, nu este atât de dificil de enumerat și există o mulțime de scripturi pe Internet - de exemplu, această linie în Perl listează toți megaocteții.

    De asemenea, puteți utiliza vm_stat pentru a monitoriza modificările în timpul utilizării memoriei. Pentru a face acest lucru, introduceți vm_stat -c , unde primul parametru este numărul de măsurători, iar al doilea este intervalul dintre ele.

    Resetarea memoriei cache a discului în memorie

    Comanda de purge ajută la obținerea temporară de câțiva gigaocteți suplimentari de RAM. Este apelat de la root, nu are parametri și resetează memoria cache a discului, aducând-o la starea în care se afla după încărcarea sistemului de operare. Dar, de obicei, managerul de memorie nu are nevoie de un astfel de ajutor - va descărca treptat excesul în sine dacă RAM se epuizează.

    În ajutor, ei spun că epurarea este în general necesară în principal pentru testare, dar cine știe cum se va întoarce viața?

    Urmărirea accesului la sistemul de fișiere

    Comanda fs_usage, rulată fără parametri de la root, tipărește o înregistrare a fiecărui acces la sistemul de fișiere. Este necesar în acele cazuri când existăprogramul se blochează la pornire sau dă mesaje de eroare criptice. Dacă problema este că unul dintre fișiere este corupt, atunci îl puteți găsi cu fs_usage.

    Pentru a analiza mai puțin problema, limitați mesajul la un singur proces scriind numele după fs_usage. Dacă știți ID-ul, introduceți sudo fs_usage pid .

    O altă opțiune utilă este -f, după care puteți seta un filtru pentru operațiunile cu rețeaua (-f network), cu fișiere (-f pathname va adăuga o coloană cu calea) și așa mai departe. Dacă textul nu se potrivește pe linie, adăugați -w.

    Detalii pot fi găsite, de exemplu, în articolul The Mac Observer sau în articolul moxit.