Proc-tiedostojärjestelmä

Linux.fista
Versio hetkellä 28. elokuuta 2008 kello 00.27 – tehnyt Maakuth (keskustelu | muokkaukset) (mdstat)
Siirry navigaatioon Siirry hakuun

Proc-tiedostojärjestelmä (procfs) on yleensä /proc-hakemistoon liitetty pseudotiedostojärjestelmä, jota käytetään tiedon välittämiseen ytimen ja prosessien välillä. Sen sisältö ei siis sijaitse millään levyllä vaan se generoidaan aina luettaessa.

Proc-tiedostojärjestelmässä olevia "tiedostoja" voi lukea ja niihin voi kirjoittaa tietoa normaalisti (monesti etenkin kirjoittamiseen vaaditaan pääkäyttäjän oikeudet). Esimerkiksi tiedot käytettävissä olevasta muistista saa selville lukemalla tiedoston /proc/meminfo sisällön:

$ cat /proc/meminfo
MemTotal:       775540 kB
MemFree:         10272 kB
...

Vastaavasti esimerkiksi kirjoittamalla luvun 1 tiedostoon /proc/sys/net/ipv4/ip_forward kerrotaan ytimelle, että IP-liikenteen uudelleenohjaus on sallittua.

Tiedostoja

Proc-tiedostojärjestelmästä löytyy lukuisia muita tiedostoja ja hakemistoja yllä mainittujen esimerkkien lisäksi. Jotkut tiedostot sisältävät tietoa järjestelmän tilasta ja toisiin kirjoittamalla voidaan säätää ytimen toimintaa.

Proc-tiedostojärjestelmän tiedostot voi listata normaalisti komennolla

$ ls /proc

Listauksesta nähdään, että /proc-hakemistossa on useita hakemistoja, joiden nimi koostuu vain numeroista. Nämä hakemistot sisältävät tiedot käynnissä olevista prosesseista siten, että hakemiston nimi on kyseisen prosessin PID-tunniste. Tällaiset hakemistot sisältävät mm. seuraavat tiedostot:

  • cmdline, josta löytyy prosessin käynnistyskomento ilman välilyöntejä
  • cwd, joka on symbolinen linkki prosessin nykyiseen työhakemistoon
  • environ, josta löytyy prosessiin vaikuttavat ympäristömuuttujat muodossa ASETUS=arvo ilman välilyöntejä.
  • exe on symbolinen linkki ajettavaan ohjelmaan
  • root on symbolinen linkki prosessin juurihakemistoon (yleensä /)
  • status, josta löytyy erilaisia tietoja prosessista, mm. sen viemän muistin määrä ja tieto siitä, kuinka suuren osan ajasta prosessi on ollut "unitilassa" (eli ei ole kuormittanut prosessoria). Samoja tietoja näkee mm. top- ja ps-työkaluilla
  • task on hakemisto, joka sisältää kovat linkit prosessin käynnistämiin prosesseihin

Muita Proc-tiedostojärjestelmästä löytyviä tiedostoja ovat mm.

Tiedosto Selitys
/proc/acpi tai /proc/apm Jos acpi tai apm on käytössä, niin nämä hakemistot sisältävät virranhallintaan liittyviä tietoja
/proc/cmdline Ytimen käynnistysoptiot (ilman välilyöntejä)
/proc/cpuinfo Tiedot suorittimista (mm. merkki, malli ja suorituskyky)
/proc/crypto Käytettävissä olevat salakirjoitusmoduulit
/porc/devices Käytössä olevat laitteet (laiteajurit)
/proc/dma Käytössä olevat DMA-kanavat
/proc/filesystems Ytimen tukemat tiedostojärjestelmät
/proc/interrupts Käytetyt keskeytykset ja niiden käyttömäärän
/proc/ioports Käytössä olevat syöte- ja tulostelaitteet
/proc/mdstat Ohjelmistopohjaisen RAIDin tila
/proc/modules Ladatut ytimen moduulit ja niiden riippuvuudet
/proc/scsi Hakemisto, josat löytyy tiedot SCSI- ja RAID-laitteista
/proc/swaps Käytössä olevat sivutusosiot
/proc/sys Hakemisto, josta löytyy ajon aikana muutettavat ytimen asetukset (kuten alussa mainittu ip_forward). Näitä asetuksia voi muuttaa kirjoittamalla kyseisiin tiedostoihin uuden arvot.
/proc/uptime Järjestelmän päälläoloaika ja aika, jonka ydin on viettänyt tekemättä mitään (ns. idle mode) sekunteina
/proc/version Ytimen ja jakelun versiot sekä mm. ytimen kääntämiseen käytetyn gcc:n tiedot
/proc/version_signature Ubuntun käyttämä tiedosto, josta löytyy käytettävän Ubuntun ytimen versio (esim. Ubuntu 2.6.22-14.46-generic)

Katso myös

Linkkejä