SystemTap: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 11: Line 11:
Seejärel on vaja paigaldada ka kerneli debug informatsiooni paketid(lisab ka mõned uued repository-d ning võtab üldiselt veidi aega, sest alla laaditav maht on suht suur):
Seejärel on vaja paigaldada ka kerneli debug informatsiooni paketid(lisab ka mõned uued repository-d ning võtab üldiselt veidi aega, sest alla laaditav maht on suht suur):


''codename=$(lsb_release -c | awk  '{print $2}')
''codename=$(lsb_release -c | awk  '{print $2}')''
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
''sudo tee /etc/apt/sources.list.d/ddebs.list << EOF''
deb http://ddebs.ubuntu.com/ ${codename}      main restricted universe multiverse
''deb http://ddebs.ubuntu.com/ ${codename}      main restricted universe multiverse''
deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
''deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse''
deb http://ddebs.ubuntu.com/ ${codename}-updates  main restricted universe multiverse
''deb http://ddebs.ubuntu.com/ ${codename}-updates  main restricted universe multiverse''
deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
''deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse''
EOF
''EOF''


sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ECDCAD72428D7C01
''sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ECDCAD72428D7C01''
sudo apt-get update
''sudo apt-get update''
sudo apt-get install linux-image-$(uname -r)-dbgsym''
''sudo apt-get install linux-image-$(uname -r)-dbgsym''





Revision as of 15:04, 15 January 2014

Millega on tegu

Sisuliselt on SystemTap-i näol tegemist skriptimiskeele ja tarkvaraga, millega saab luua laetavaid kerneli mooduleid (loadable kernel module) väga erinevatel eesmärkidel. Loodud kerneli moodulid suudavad ennast näiteks ühe väga kasuliku võimalusena, haakida erinevate süsteemi moodulites olevate funktsioonide külge ning seeläbi monitoorida ja muuta andmeid mida programmid süsteemilt küsivad ja/või tulemuseks saavad. See on kasutusel nii administraatorite kui arendajate poolt, tehes väga lihtsalt võimalikuks jälgida erinevate programmide tööd, nende tehtavate süsteemi kutsete (system calls) parameetreid ning tulemusi ja võib isegi aitada süsteemi jõudluse pudelikaelade leidmisel. Kõige lihtsam on SystemTapi võimaluste osas endale selgem pilt saada, kui külastada näidete lehekülge, kus on pikk nimekiri erinevatest algkoodidest koos funktsionaalsuse kirjeldusega: SystemTap näited

Kuidas paigaldada süsteem (Xubuntu näitel)

Valisin Xubuntu seepärast, et kasutan seda ise pidevalt ning seepärast, et Ubuntu ja selle erinevad arendused/analoogid on väga populaarsed.

SystemTap enda paigaldamine on Xubuntu puhul väga lihtne (paigaldatakse ka gcc):

sudo apt-get install -y systemtap gcc

Seejärel on vaja paigaldada ka kerneli debug informatsiooni paketid(lisab ka mõned uued repository-d ning võtab üldiselt veidi aega, sest alla laaditav maht on suht suur):

codename=$(lsb_release -c | awk '{print $2}') sudo tee /etc/apt/sources.list.d/ddebs.list << EOF deb http://ddebs.ubuntu.com/ ${codename} main restricted universe multiverse deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse deb http://ddebs.ubuntu.com/ ${codename}-updates main restricted universe multiverse deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse EOF

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ECDCAD72428D7C01 sudo apt-get update sudo apt-get install linux-image-$(uname -r)-dbgsym


Töötavad süsteemi image-d

Esimene programm

Viited erinevatele materjalidele