Provided by: manpages-es_1.55-10_all bug

NOMBRE

       proc - pseudo-sistema de ficheros de información de procesos

DESCRIPCIÓN

       /proc  es un pseudo-sistema de ficheros que se usa como interfaz para las estructuras de datos del núcleo
       en lugar de leer e interpretar /dev/kmem. La mayor parte de este sistema de ficheros es de sólo  lectura,
       pero algunos ficheros permiten cambiar variables del núcleo.

       El siguiente resumen proporciona una rápida visita a la jerarquía /proc.

       [número]
              Hay un subdirectorio numérico para cada proceso en ejecución; el nombre del subdirectorio es el ID
              del proceso. Cada uno de ellos contiene los siguientes pseudo ficheros y directorios.

              cmdline
                     Éste  contiene  la línea de órdenes completa para el proceso, a menos que el proceso entero
                     se haya intercambiado a disco o a menos que el proceso sea un proceso zombie. En cualquiera
                     de estos dos últimos casos, no hay nada en el fichero, es decir,  una  lectura  sobre  este
                     fichero  devolverá  0  caracteres.  Los  argumentos de la línea de órdenes aparecen en este
                     fichero como un conjunto de cadenas separadas por nulos, con un byte nulo adicional tras la
                     última cadena.

              cwd    Éste es un enlace hacia el directorio de trabajo actual  del  proceso.  Por  ejemplo,  para
                     encontrar el directorio de trabajo actual del proceso 20, puede hacer esto:

                     cd /proc/20/cwd; /bin/pwd

                     Dese  cuenta  que  la  orden pwd es frecuentemente una orden interna del shell, y podría no
                     funcionar adecuadamente. En bash, debe usar pwd -P.

              environ
                     Este fichero contiene el entorno del proceso. Las entradas están serparadas por  caracteres
                     nulos,  y  podría  haber  un carácter nulo al final. Por tanto, para mostrar el entorno del
                     proceso 1, debería hacer:

                     (cat /proc/1/environ; echo) | tr "\000" "\n"

                     (Una razón por la que alguien querría hacer esto, la puede encontrar en lilo(8).)

              exe    En la versiones 2.2 y 2.4 de Linux exe es un enlace simbólico que contiene el nombre de  la
                     ruta  actual  de  la  orden  ejecutada.  El enlace simbólico exe se puede resolver de forma
                     normal  -  el  intentar  abrir  exe   abrirá   el   ejecutable.   Incluso   puede   teclear
                     /proc/[number]/exe para ejecutar otra copia del mismo proceso [número].

                     En  Linux 2.0 y versiones anteriores exe es un puntero al fichero binario que fue ejecutado
                     y aparece como un enlace simbólico. Una llamada readlink(2) aplicada  al  fichero  especial
                     "exe" devuelve una cadena con el formato:

                     [dispositivo]:nodo-i

                     Por  ejemplo,  [0301]:1502  sería  el  nodo-i 1502 sobre el dispositivo con número mayor 03
                     (discos IDE, MFM, etc.) y número menor 01 (primera partición del primer disco.

                     find(1) con la opción -inum se puede usar para buscar el fichero.

              fd     Éste es un subdirectorio que contiene una entrada por cada fichero  que  tiene  abierto  el
                     proceso,  nombrada  con  el  descriptor  del  fichero,  y la cual es un enlace simbólico al
                     fichero real (como lo es la entrada exe). Por tanto, 0 es la  entrada  estándar,  1  es  la
                     salida estándar, 2 es la salida estándar de error, etc.

                     Los  programas  que  no  leen de la entrada estándar, sino que leen de un fichero, y que no
                     escriben en la salida estándar, sino que escriben en un fichero, pueden ser engañados de la
                     siguiente manera, suponiendo que -i es la opción que designa al fichero de entrada y -o  la
                     opción que designa al fichero de salida:
                     foobar -i /proc/self/fd/0 -o /proc/self/fd/1
                     y  de  esta  manera  su  programa  funcionará  como filtro.  Note que esto no funcionará en
                     programas que realizan accesos aleatorios sobre sus  ficheros,  ya  que  los  ficheros  del
                     directorio fd no permiten este tipo de acceso.

                     /proc/self/fd/N  es  aproximadamente  lo  mismo  que  /dev/fd/N  en algunos sistemas UNIX y
                     sistemas al estilo UNIX. De hecho, la mayoría de los guiones shell MAKEDEV de Linux enlazan
                     simbólicamente /proc/self/fd con /dev/fd.

              maps   Fichero que contiene las regiones de  memoria  actualmente  asociadas  y  sus  permisos  de
                     acceso.

                     El formato es:

        Dirección         perms desplaz disp  nodo-i    ruta
        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
        40000000-40013000 r-xp 00000000 03:0c 4165       /lib/ld-2.2.4.so
        40013000-40015000 rw-p 00012000 03:0c 4165       /lib/ld-2.2.4.so
        4001f000-40135000 r-xp 00000000 03:0c 45494      /lib/libc-2.2.4.so
        40135000-4013e000 rw-p 00115000 03:0c 45494      /lib/libc-2.2.4.so
        4013e000-40142000 rw-p 00000000 00:00 0
        bffff000-c0000000 rwxp 00000000 00:00 0

                     donde dirección es el espacio de direcciones del proceso que ocupa, perms es un conjunto de
                     permisos:

                          r = leer
                          w = escribir
                          x = ejecutar
                          s = compartido
                          p = privado (copia en escritura)

                     desplaz  es el desplazamiento dentro del fichero/cosa, disp es el dispositivo (mayor:menor)
                     y nodo-i es el nodo-i en ese dispositivo. 0 indica que no  hay  un  nodo-i  asociado  a  la
                     región de memoria, como ocurriría con la región bss del proceso.

                     En Linux 2.0 no existe un campo que dé el nombre de la ruta.

              mem    A  través  del  fichreo  mem  se  puede  acceder  a las páginas de la memoria de un proceso
                     mediante open(2), read(2) y fseek(3).

              root   Unix y Linux soportan la idea de una raíz del sistema de ficheros por proceso, asignada por
                     la llamada al sistema chroot(2).  Root apunta a la  raíz  del  sistema  de  ficheros  y  se
                     comporta como lo hacen exe, fd/*, etc.

              stat   Información   de   estado   del   proceso.   Ésta   es  usada  por  ps(1).   Se  define  en
                     /usr/src/linux/fs/proc/array.c.

                     Los campos, en orden, junto con sus indicadores de formato apropiados para scanf(3), son:

                     pid %d Identificador del proceso.

                     comm %s
                            Nombre de fichero del ejecutable, en paréntesis. Éste es visible dependiendo  de  si
                            el ejecutable ha sido o no intercambiado.

                     state %c
                            Un  carácter  de  la  cadena "RSDZTW" donde R significa en ejecución, S bloqueado de
                            forma interrumpible, D bloqueado de forma ininterrupible en una espera de  disco,  Z
                            zombie, T proceso en ejecución paso a paso o parado (en una señal) y W transfiriendo
                            páginas.

                     ppid %d
                            El PID del padre.

                     pgrp %d
                            El identificador del grupo de procesos del proceso.

                     session %d
                            El identificador de sesión del proceso.

                     tty_nr %d
                            El terminal que usa el proceso.

                     tpgid %d
                            El  identificador  del grupo de procesos del proceso al que pertenece actualmente la
                            terminal a la que está conectado el proceso.

                     flags %u
                            Las banderas del proceso.  El bit "math" es el 4 (en decimal) y el bit "paso a paso"
                            el 10 (en decimal).

                     minflt %lu
                            El número de fallos  de  página  menores  producidos  por  el  proceso  que  no  han
                            necesitado la carga de una página de memoria desde disco.

                     cminflt %lu
                            El número de fallos de página menores producidos por el proceso y sus hijos.

                     majflt %lu
                            El  número  de fallos de página mayores producidos por el proceso que han necesitado
                            la carga de una página de memoria desde disco.

                     cmajflt %lu
                            El número de fallos de página mayores producidos por el proceso y sus hijos.

                     utime %ld
                            El número de jiffies que este proceso se ha planificado en modo usario.

                     stime %ld
                            El número de jiffies que este proceso se ha planificado en modo núcleo.

                     cutime %ld
                            El número de jiffies que este proceso  y  sus  hijos  se  han  planificado  en  modo
                            usuario.

                     cstime %ld
                            El número de jiffies que este proceso y sus hijos se han planificado en modo núcleo.

                     priority %ld
                            El valor ``nice'' estándar, más 15. El valor nunca es negativo dentro del núcleo.

                     nice %ld
                            El valor ``nice'', que va desde 19 (el más generoso) hasta -19 (el más codicioso).

                     0 %ld  Este  valor  se fija a 0 en el propio código y representa el lugar que ocupaba de un
                            campo eliminado.

                     itrealvalue %u
                            El tiempo en jiffies antes de que la siguiente señal SIGALRM sea enviada al proceso.

                     starttime %lu
                            Tiempo en jiffies desde el arranque del sistema hasta el inicio de la ejecución  del
                            proceso.

                     vsize %lu
                            Tamaño de la memoria virtual en bytes.

                     rss %ld
                            Tamaño  del  conjunto  residente  (RSS):  número  de páginas que el proceso tiene en
                            memoria real, menos 3 (para propósitos administrativos). Dicho conjunto está formado
                            por las páginas que componen actualmente el espacio de  código,  datos  y  pila.  No
                            incluye  aquellas  páginas  que  no  se  han  cargado  bajo  demanda  o  que  se han
                            intercambiado a disco.

                     rlim %lu
                            Límite actual, en bytes, del RSS del proceso (normalmente, 4294967295 en i386).

                     startcode %lu
                            Dirección por encima de la cual se puede ejecutar el código del programa.

                     endcode %lu
                            Dirección por debajo de la cual se puede ejecutar el código del programa.

                     startstack %lu
                            Dirección de comienzo de la pila.

                     kstkesp %lu
                            El valor actual del registro ESP (puntero de pila), tal  como  se  encuentra  en  la
                            página de pila del proceso.

                     kstkeip %lu
                            Valor actual del EIP (puntero de instrucción).

                     signal %lu
                            Mapa de bits de señales pendientes (normalmente 0).

                     blocked %lu
                            Mapa de bits de señales bloqueadas (normalmente 0, 2 para los shells).

                     sigignore %lu
                            Mapa de bits de señales ignoradas.

                     sigcatch %lu
                            Mapa de bits de señales capturadas.

                     wchan %lu
                            Este  es  el  ``canal''  en el que está esperando el proceso. Es la dirección de una
                            llamada al sistema y se puede mirar en una lista de nombres si  necesita  un  nombre
                            textual. (Pruebe ps -l para ver WCHAN en acción.)

                     nswap %lu
                            Número de páginas intercambiadas - no guardadas.

                     cnswap %lu
                            nswap acumulativo para los procesos hijos.

                     exit_signal %d
                            Señal a enviar al padre cuando muramos.

                     processor %d
                            Número de CPU en la que se ejecutó por última vez.

              statm  Proporciona información, en páginas, sobre la situación de memoria.  Las columnas son:
                      size       tamaño total del programa
                      resident   tamaño del conjunto residente
                      share      páginas compartidas
                      trs        texto (código)
                      drs        datos/pila
                      lrs        biblioteca
                      dt         páginas modificadas

              status Proporciona  gran  parte  de  la información de stat y statm en un formato que es mucho más
                     fácil de leer para una persona.

       apm    Proporciona información sobre la batería y la versión de APM cuando se ha definido  CONFIG_APM  en
              el instante de compilación del núcleo.

       bus    Contiene subdirectorios para los buses instalados.

              pccard Subdirectorio  para  dispositivos PCMCIA cuando se ha definido CONFIG_PCMCIA en el instante
                     de compilación del núcleo.

                     drivers

              pci    Contiene varios subdirectorios de buses y pseudoficheros que  contienen  información  sobre
                     buses pci, dispositivos instalados y manejadores (drivers) de dispositivo. Algunos de estos
                     ficheros no son ASCII.

                     devices
                            Información  sobre  dispositivos  pci.  Se  puede  acceder  a los mismos a través de
                            lspci(8) y setpci(8).

       cmdline
              Argumentos pasados al núcleo de Linux al arrancar. Normalmente se hace a través de  un  gestor  de
              arranque como lilo(1).

       cpuinfo
              Este  es  una colección de elementos dependientes de la CPU y de la arquitectura del sistema. Para
              cada arquitectura soportada, una lista diferente. Dos entradas comunes son  processor  que  da  el
              número de CPU y bogomips, una constante del sistema que se calcula durante el arranque del núcleo.
              Las máquinas SMP tienen información para cada CPU.

       devices
              Lista  de  números  mayores  de dispositivo y grupos de dispositivos. Esta puede ser usada por los
              guiones MAKEDEV para consistencia con el núcleo.

       dma    Esta es una lista de los canales DMA (acceso directo a memoria) ISA registrados en uso.

       driver Subdirectorio vacío.

       execdomains
              Lista de dominios de ejecución (personalidades ABI).

       fb     Información sobre el frame buffer cuando se define CONFIG_FB furante la compilación del núcleo.

       filesystems
              Lista de los sistemas de ficheros que  fueron  compilados  dentro  del  núcleo.   Incidentalmente,
              mount(1)  usa  esto  para  circular  a  través  de  diferentes  sistemas  de ficheros cuando no se
              especifica ninguno.

       fs     Subdirectorio vacío.

       ide    ide existe en sistemas con bus ide. Hay directorios para cada canal ide y  dispositivo  conectado.
              Los ficheros incluyen:

              cache              tamaño del buffer en KB
              capacity           número de sectores
              driver             versión del manejador
              geometry           geometría física y lógica
              identify           en hexadecimal
              media              tipo de medio
              model              número de modelo del fabricante
              settings           configuración de la unidad
              smart_thresholds   en hexadecimal
              smart_values       en hexadecimal

              La utilidad hdparm(8) proporciona acceso a esta información en un formato amigable.

       interrupts
              Éste  es  usado  para  registrar  el  número  de  interrupciones para cada IRQ sobre (al menos) la
              arquitectura i386. El formato es muy fácil de leer, realizado en ASCII.

       iomem  Mapa de memoria de E/S en Linux 2.4.

       ioports
              Ésta es una lista de las regiones de puertos de entrada/salida actualmente registrados  que  están
              en uso.

       kcore  Este  fichero  representa la memoria física del sistema y su formato es el de un fichero core ELF.
              Con  este   pseudofichero   y   un   binario   del   núcleo   con   información   sobre   símbolos
              (/usr/src/linux/vmlinuz),  se puede usar GDB para examinar el estado actual de cualquier estrutura
              de datos del núcleo.

              La longitud total de este fichero es el tamaño de la memoria física (RAM) más 4KB.

       kmsg   Este fichero se puede usar en lugar de la llamada al sistema  syslog(2)  para  leer  mensajes  del
              núcleo.  Un  proceso  debe tener permisos de superusuario para leer este fichero y sólo un proceso
              debe leer este fichero. Este fichero no se debe leer si se está ejecutando un proceso  syslog  que
              usa la llamada al sistema syslog(2) para registrar mensajes del núcleo.

              A la información de este fichero se accede con el programa dmesg(8).

       ksyms  Éste  mantiene  las  difiniciones de símbolos exportados del núcleo usadas por las herramientas de
              manejo de modulos(X) para enlazar dinámicamente módulos.

       loadavg
              Los números de carga media dan el número promedio de trabajos en la cola de ejecución (estado R) o
              en espera de E/S de disco (estado D) en los últimos 1, 5 y 15 minutos. Estos números son idénticos
              a los números de carga media dados por uptime(1) y otros programas.

       locks  Este fichero muestra los bloqueos de fichero (flock(2) y  fcntl(2))  y  arrendamientos  (fcntl(2))
              actuales.

       malloc Este fichero sólo está presente si se definió CONFIGDEBUGMALLOC durante la compilación.

       meminfo
              Éste  es  usado  por  free(1)  para informar de la cantidad de memoria libre y usada en el sistema
              (tanto física como de intercambio) así como de la memoria compartida y los buffers usados  por  el
              núcleo.

              El formato es el mismo que el de free(1), salvo que los datos se dan en bytes y no en KB.

       modules
              Lista de módulos que han sido cargados por el sistema.  Véase también lsmod(8).

       mtrr   Memory Type Range Registers.  Vea /usr/src/linux/Documentation/mtrr.txt para más detalles.

       net    directorio  que  contiene  varios pseudoficheros, los cuales dan el estado de algunas partes de la
              capa de red. Estos ficheros contienen estructuras ASCII y, por tanto, se pueden leer con cat.  Sin
              embargo, la aplicación netstat(8) proporciona un acceso mucho más claro a estos ficheros.

              arp    Este  mantiene un vaciado ASCII legible de la tabla ARP del núcleo usada para la resolución
                     de  direcciones.  Mostrará  tanto  las  entradas  ARP  aprendidas  dinámicamente  como  las
                     preprogramadas. El formato es:

        IP address     HW type   Flags     HW address          Mask   Device
        192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
        192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0

              Aquí  `IP  address'  es  la  dirección IPv4 de la máquina y `HW type' es el tipo de hardware de la
              dirección según el RFC 826. `Flags' son las banderas internas de la estructura ARP (tal y como  se
              definen  en  /usr/include/linux/if_arp.h) y `HW address' es, si se conoce, la dirección de la capa
              física asociada a la dirección IP.

              dev    El pseudofichero dev contiene información de estado del dispositivo de red.  Da  el  número
                     de  paquetes  recividos  y enviados, el número de errores y colisiones y otras estadísticas
                     básicas. Estas son usadas  por  el  programa  ifconfig(8)  para  informar  del  estado  del
                     dispositivo. El formato es:

 Inter-|   Receive                                                |  Transmit
  face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
     lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
   eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
   ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
   tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0
                     ·

              dev_mcast
                     Se define en /usr/src/linux/net/core/dev_mcast.c:
                          indx ifterface_name  dmi_u dmi_g dmi_address
                          2    eth0            1     0     01005e000001
                          3    eth1            1     0     01005e000001
                          4    eth2            1     0     01005e000001

              igmp   Internet Group Management Protocol.  Se define en /usr/src/linux/net/core/igmp.c.

              rarp   Este  fichero usa el mismo formato que el fichero arp y contiene la actual base de datos de
                     asociaciones inversas usada para proporcionar los  servicios  de  búsqueda  de  direcciones
                     inversas de Si RARP no está configurado dentro del núcleo, este fichero no estará presente.

              raw    Contiene un vaciado de la tabla de conectores RAW. La mayor parte de esta información no es
                     útil  salvo  para  propósitos de depuración. El valor `sl' es el número de entrada hash del
                     núcleo para el conector. `local address' es la pareja formada por la dirección local  y  el
                     número  de  puerto. `St' es el estado interno del conector. `tx_queue' y `rx_queue' son las
                     colas de datos de entrada y salida en términos de uso de memoria  del  núcleo.  Los  campos
                     `tr',  `tm->when'  y  `rexmits'  no  los usa RAW. El campo `uid' contiene el idenficador de
                     usario efectivo del creador del conector.

              snmp   Este fichero contiene  los  datos  ASCII  que  necesitan  las  Bases  de  Información  para
                     Administración de IP, ICMP, TCP y UDP para un agente SNMP.

              tcp    Contiene un vaciado de la tabla de conectores TCP. La mayor parte de esta información no es
                     útil  salvo para propósitos de depuración. El valor `sl' es el número de la ranura hash del
                     núcleo para el conector. `local address' es la pareja formada por la dirección local  y  el
                     número de puerto. `remote address' es la pareja formada por la dirección remota y el número
                     de  puerto  (si  hay  conexión).  `St'  es  el  estado  interno  del conector. `tx_queue' y
                     `rx_queue' son las colas de datos de entrada y salida en términos de  uso  de  memoria  del
                     núcleo. Los campos `tr', `tm->when' y `rexmits' contienen información del núcleo del estado
                     del  conector  y sólo son útiles para depuración. El campo `uid' contiene el idenficador de
                     usario efectivo del creador del conector.

              udp    Contiene un vaciado de la tabla de conectores UDP. La mayor parte de esta información no es
                     útil salvo para propósitos de depuración. El valor `sl' es el número de la entrada hash del
                     núcleo para el conector. `local address' es la pareja formada por la dirección local  y  el
                     número de puerto. `remote address' es la pareja formada por la dirección remota y el número
                     de  puerto  (si  hay  conexión).  `St'  es  el  estado  interno  del conector. `tx_queue' y
                     `rx_queue' son las colas de datos de entrada y salida en términos de  uso  de  memoria  del
                     núcleo.  Los  campos  `tr',  `tm->when'  y `rexmits' no son usados por UDP.  El campo `uid'
                     contiene el idenficador de usario efectivo del creador del conector. El formato es:

 sl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm->when uid
  1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
  1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
  1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0

              unix   Lista de conectores de dominio UNIX presentes dentro del sistena y el estado de cada uno de
                     ellos. El formato es:
                     Num RefCount Protocol Flags    Type St Path
                      0: 00000002 00000000 00000000 0001 03
                      1: 00000001 00000000 00010000 0001 01 /dev/printer

              Aquí `Num' es el número de entrada en la tabla del núcleo, `RefCount' es el número de usuarios del
              conector, `Protocol' es, actualmente, siempre 0, `Flags'  representa  las  banderas  internas  del
              núcleo  que  contienen el estado del conector. Actualmente, `Type' es siempre 1 (los conectores de
              dominio UNIX del tipo datagrama todavía no están soportados en  el  núcleo).  `St'  es  el  estado
              interno del conector y `Path' es, si existe, la ruta asociada del conector.

       partitions
              Contains major and minor numbers of each partition as well as number of blocks and partition name.

       pci    Es  una lista de todos los dispositivos PCI encontrados durante la inicialización del núcleo y sus
              configuraciones respectivas.

       scsi   Directorio con pseudoficheros SCSI de nivel medio y varios directorios  de  manejadores  (drivers)
              SCSI  de bajo nivel, que contienen un fichero para cada host SCSI presente en el sistema, cada uno
              de los cuales da el estado de alguna parte del subsystema de E/S SCSI.  Estos  ficheros  contienen
              estructuras ASCII y, por tanto, son legibles con cat.

              También  se  puede  escribir  en  algunos de estos ficheros para reconfigurar el subsistema o para
              activar y desactivar ciertas características.

              scsi   Esta es una lista de todos los dispositivos SCSI conocidos  por  el  núcleo.  La  lista  es
                     similar  a la que se ve durante el arranque.  Actualmente, scsi únicamente soporta la orden
                     add-single-device que permite al superusuario añadir a la lista de  dispositivos  conocidos
                     un dispositivo conectado "en caliente".

                     echo  `scsi  add-single-device 1 0 5 0` > /proc/scsi/scsi hará que el host scsi1 explore el
                     canal SCSI 0 en busca de un dispositivo  en  la  dirección  ID  5  LUN  0.  Si  ya  hay  un
                     dispositivo conocido en esa dirección o si la dirección es inválida, se devolverá un error.

              drivername
                     Actualmente,  drivername puede ser NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, buslogic,
                     eata_dma, eata_pio, fdomain, in2000, pas16, qlogic,  scsi_debug,  seagate,  t128,  u15-24f,
                     ultrastore  o wd7000.  Estos directorios presentan todos los manejadores que registraron al
                     menos un HBA SCSI. Cada directorio contiene un fichero por host  registrado.  Cada  fichero
                     host tiene como nombre el número que el host obtuvo durante la inicialización.

                     La lectura de estos ficheros mostrará normalmente la configuración del manejador y el host,
                     estadísticas, etc.

                     La  escritura  en  estos  ficheros  permite  diferentes  cosas  sobre diferentes hosts. Por
                     ejemplo, con las órdenes latency y nolatency, el superusuario puede activar y desactivar en
                     el manejador eata_dma el código para la medición de la latencia de  las  órdenes.  Con  las
                     órdenes lockup y unlock, el superusuario puede controlar las búsquedas de bus simuladas por
                     el manejador scsi_debug.

       self   Este  directorio  hace referencia al proceso que está accediendo al sistema de ficheros /proc y es
              idéntico al directorio de /proc cuyo nombre es el PID del mismo proceso.

       slabinfo
              Información sobre las memorias cachés del núcleo. Las columnas son:
              cache-name
              num-active-objs
              total-objs
              object-size
              num-active-slabs
              total-slabs
              num-pages-per-slab
              Vea slabinfo(5) para más detalles.

       stat   Estadísticas del núcleo/sistema. Varían con la arquitectura. Entradas comunes son:

              cpu  3357 0 4313 1362393
                     El número de jiffies (centésimas de segundo) que el sistema gastó  en  modo  usuario,  modo
                     usuario  con  baja prioridad (nice), modo supervisor y en la tarea `idle', respectivamente.
                     El último valor debe ser 100 veces la segunda entrada del pseudofichero uptime.

              page 5741 1808
                     El número de páginas que el sistema cargó y el número de  páginas  que  fueron  descargadas
                     (desde disco).

              swap 1 0
                     El número de páginas de intercambio que han sido introducidas y sacadas.

              intr 1462898
                     El número de interrupciones recibidas desde el arranque del sistema.

              disk_io: (2,0):(31,30,5764,1,2) (3,0):...
                     (mayor,menor):(noinfo, ops_lectura, bloqs_leídos, ops_escritura, bloqs_escritos)

              ctxt 115315
                     El número de cambios de contexto que el sistema ha sufrido.

              btime 769041601
                     Instante de arranque, en segundos desde el 1 de Enero de 1970

              processes 86031
                     Número de llamadas al sistema `fork' desde el arranque.

       swaps  Áreas de intercambio en uso. Véase también swapon(8).

       sys    Este  directorio  (presente  desde  la  versión  1.3.57) contiene varios ficheros y subdirectorios
              correspondientes a variables del núcleo. Estas variables se pueden leer y algunas veces  modificar
              usando  el  sistema  de ficheros proc y la llamada al sistema sysctl(2).  Actualmente, existen los
              subdirectorios abi, debug, dev, fs, kernel, net, proc, rxrpc, sunrpc y vm

              que contienen a su vez más ficheros y subdirectorios.

              abi    Este directorio puede contener ficheros con datos ABI (`application  binary  information`).
                     No existe en algunos sistemas.

              debug  Este directorio puede estar vacío.

              dev    Este   directorio   contiene   información   específica   de   dispositivos  (por  ejemplo,
                     dev/cdrom/info). En algunos sistemas puede estar vacío.

              fs     Éste contiene el subdirectorio binfmt_misc y los ficheros dentry-state,  dir-notify-enable,
                     dquot-nr,  file-max,  file-nr,  inode-max, inode-nr, inode-state, lease-break-time, leases-
                     enable, overflowgid, overflowuid super-max y super-nr, cuya función se deduce cláramente  a
                     partir del nombre.

              Se  puede  encontrar  documentación  para  los  ficheros  de  /proc/sys/binfmt_misc  en el fichero
              Documentation/binfmt_misc.txt de los fuentes del núcleo.

              El fichero dentry-state contiene seis números, nr_dentry, nr_unused, age_limit (edad en segundos),
              want_pages (páginas solicitadas por el sistema) y dos valores ``tontos''.  nr_dentry parece ser  0
              todo  el tiempo.  nr_unused seems parece ser el número de dentries sin usar.  age_limit es la edad
              en segundos tras la cual se puede reclamar una entrada dentry cuando hay poca memoria y want_pages
              no es cero después de que el núcleo haya llamado a shrink_dcache_pages() y  no  se  haya  reducido
              todavía el tamaño de la dcache.

              El  fichero  dir-notify-enable  se  puede  usar  para  activar  o desactivar en todo el sistema la
              interfaz dnotify descrita en fcntl(2).  Un valor 0 en este fichero  desactiva  la  interfaz  y  un
              valor 1 la activa.

              El  fichero  dquot-max  muestra  el  número  máximo  de  entradas  de  cuota  de disco en la caché
              correspondiente. Este fichero no existe en algunos sistemas (2.4). Si el número de entradas libres
              en la caché de cuotas de disco es muy pequeño y el número de usuarios simultáneos que tiene es muy
              grande, tal vez quiera subir este límite.

              El fichero dquot-nr el número de entradas de cuota de disco asignadas  y  el  número  de  entradas
              libres.

              El fichero file-max es un límite global del sistema sobre el número de ficheros abiertos por todos
              los  procesos.   (Véase  también setrlimit(2), que un proceso puede usar para establecer el límite
              por proceso, RLIMIT_NOFILE, del número de ficheros que se pueden abrir.)  Si obtiene un montón  de
              mensajes  de  error  que indican que se ha quedado sin manejadores de fichero, intente incrementar
              este valor:

              echo 100000 > /proc/sys/fs/file-max

              La constante del núcleo NR_OPEN impone un límite superior sobre el valor que  se  puede  colar  en
              file-max.

              Sin  incrementa  file-max,  asegúrese de incrementar inode-max a 3-4 veces el nuevo valor de file-
              max, o se quedará sin nodos-i.

              El fichero (de sólo lectura) file-nr proporciona el número de ficheros abiertos en  este  momento.
              Contiene  tres números: el número de manejadores de fichero asignados, el número de manejadores de
              fichero libres y el número máximo de manejadores de fichero.  El  núcleo  reserva  manejadores  de
              fichero  dinámicamente,  pero  no  los  libera  otra  vez. Si el número de ficheros asignados está
              cercano al  máximo,  debería  considerar  el  incrementar  dicho  máximo.   Cuando  el  número  de
              manejadores de fichero libres es grande, ha encontrado un pico en su uso de manejadores de fichero
              y probablemente no necesite incrementar el máximo.

              El  fichero  inode-max  contiene  el  número  máximo de nodos-i en memoria. Este fichero podría no
              existir en algunos sistemas (2.4). Este valor debería ser 3-4 veces más grande  que  el  valor  de
              file-max,  ya  que  stdin,  stdout  y los conectores de red también necesitan un nodo-i para poder
              manejarlos.  Si se queda sin nodos-i con frecuencia, necesitará incremetar este valor.

              El fichero inode-nr contiene contiene los dos primeros valores de inode-state.

              El fichero inode-state contiene siete  números:  nr_inodes,  nr_free_inodes,  preshrink  y  cuatro
              valores  sin  utilidad.  nr_inodes es el número de nodos-i que el sistema ha asignado. Este número
              puede ser ligeramente mayor que inode-max ya que Linux reserva  nodos-i  usando  páginas  enteras.
              nr_free_inodes  representa  el  número  de  nodos-i  libres.  preshrink es distinto de cero cuando
              nr_inodes > inode-max y el sistema necesita recortar la lista de nodos-i en lugar de reservar más.

              El fichero lease-break-time especifica el periodo de gracia que el núcleo concede a un proceso que
              posee un arrendamiento de fichero (fcntl(2)) después de que  le  haya  enviado  una  señal  a  ese
              proceso notificándole que otro proceso está esperando para abrir el fichero. Si el arrendatario no
              elimina o reduce la categoría del arrendamiento dentro del periodo de gracia, el núcleo elimina el
              arrendamiento por la fuerza.

              El  fichero  leases-enable  se puede usar para activar o desactivar los arrendamientos de ficheros
              (fcntl(2)) de forma global.  Si este  fichero  contiene  el  valor  0,  los  arrendamientos  están
              desactivados. Si el valor es distinto de 0, los arrendamientos están permitidos.

              Los ficheros overflowgid y overflowuid le permiten cambiar el valor del UID y GID fijos.  El valor
              por omisión es 65534. Algunos sistemas de ficheros sólo permiten UIDs y GIDs de 16 bits, aunque en
              Linux  los  UIDs  y GIDs son de 32 bits. Cuando uno de estos sistemas de ficheros está montado con
              escrituras permitidas, cualquier UID  y  GID  que  excediera  65535  se  traduciría  al  valor  de
              desbordamiento antes de ser escrito en disco.

              El  fichero  super-max controla el número máximo de superbloques y, por tanto, el número máximo de
              sistemas de ficheros montados que puede tener el núcleo.  Sólo necesita incrementar  super-max  si
              necesita  montar más sistemas de ficheros que el valor actual de super-max le permite.  El fichero
              super-nr contiene el número de sistemas de ficheros montados actualmente.

              kernel Este directorio contiene los ficheros acct, cad_pid,  cap-bound,  core_uses_pid,  ctrl-alt-
                     del,  dentry-state, domainname, hostname, htab-reclaim (sólo en PowerPC), java-appletviewer
                     (binfmt_java, obsoleto), java-interpreter (binfmt_java, obsoleto), l2cr (sólo en  PowerPC),
                     modprobe,  msgmax,  msgmnb,  msgmni,  osrelease,  ostype,  overflowgid, overflowuid, panic,
                     powersave-nap (sólo en PowerPC), printk, random, real-root-dev, reboot-cmd (són en  SPARC),
                     rtsig-max, rtsig-nr, sem, sg-big-buff, shmall, shmmax, shmmni, sysrq, tainted, threads-max,
                     version  y  zero-paged  (sólo  en  PowerPC)  cuya  función está bastante clara a partir del
                     nombre.

              El fichero acct contiene tres números:  highwater,  lowwater  y  frequency.   Si  está  activa  la
              contabilidad  de  procesos  al  estido  de  BSD,  estos valores controlan su comportamiento. Si el
              espacio libre en el sistema de ficheros  donde  se  encuentra  el  registro  cae  por  debajo  del
              porcentaje  `lowwater',  la  contabilidad  se  suspende.  Si el espacio libre supera el porcentaje
              `highwater', la contabilidad se reanuda.  `Frequency' determina la frecuencia con la que el núcleo
              comprueba la cantidad de espacio libre (el valor está en segundos). Los valores por omisión son 4,
              2 y 30. Esto es, suspende la contabilidad si el espacio libre es igual o inferior al 2%; reanúdala
              si el espacio libre es igual o superior al 4%; considera válida la información  sobre  el  espacio
              libre durante 30 segundos.

              El  fichero  cap-bound  contiene  el  valor  del  conjunto  de  capacidades limitantes del núcleo.
              (expresado como un entero decimal con signo). Durante un exec, se  hace  un  Y-lógico  entre  este
              conjunto y la capacidades permitidas al proceso.

              El  fichero  core_uses_pid  se  puede usar en Linux 2.4 para controlar la forma de dar nombre a un
              fichero de vaciado de memoria (``core dump''). Si este fichero contiene el  valor  0,  el  fichero
              simplemente  se  llama  core.   Si  el valor es distinto de cero, el fichero de vaciado de memoria
              incluye el ID del proceso en un nombre de la forma core.PID.

              El fichero ctrl-alt-del controla la gestión de la combinación Ctrl-Alt-Del del teclado. Cuando  el
              valor  de este fichero es 0, se captura Ctrl-Alt-Del y se envía al programa init(1) para tratar un
              reinicio elegante. Cuando este valor es > 0, la reacción de Linux a un ``Vulcan Nerve Pinch'' (tm)
              (N.T.: frase con la que también se conoce al saludo de los tres dedos) será un reinicio inmediato,
              sin ni siquiera escribir en disco los buffers modificados.  Nota: cuando un programa (como dosemu)
              tiene el teclado en modo `crudo', el programa interpreta ctrl-alt-del antes de que la  combinación
              de teclas alcance la capa tty del núcleo y es asunto del programa decidir qué hacer con ella.

              Los ficheros domainname y hostname se pueden usar para establecer el nombre de dominio NIS/YP y el
              nombre  de  host  de  su  ordenador  exactamente  de  la  misma forma que las órdenes domainname y
              hostname, es decir:

              # echo "darkstar" > /proc/sys/kernel/hostname
              # echo "mydomain" > /proc/sys/kernel/domainname

              tienen el mismo efecto que

              # hostname "darkstar"
              # domainname "mydomain"

              Observe, sin embargo, que el clásico darkstar.frop.org tiene el nombre de host ``darkstart'' y  el
              nombre  de dominio DNS (Internet Domain Name Server) ``frop.org'', que no se debe confundir con el
              nombre de dominio NIS (Network Information Service) o YP (Yellow Pages).  En  general,  estos  dos
              nombres  de  dominio  son  diferentes.  Para  una discusión más detallada, vea la página de manual
              hostname(1).

              Si al fichero htab-reclaim (sólo en PowerPC) se le asigna un valor distinto de  cero,  el  PowerPC
              htab  (vea  el  fichero  del  núcleo Documentation/powerpc/ppc_htab.txt) se reduce cada vez que el
              sistema alcanza el bucle ocioso.

              El fichero l2cr (sólo en PowerPC) contiene una bandera que controla la caché L2 de las placas base
              de los procesadores G3. Si contiene 0, la caché se  desactiva.  Una  valor  distinto  de  cero  la
              activa.

              El fichero modprobe se describe en el fichero Documentation/kmod.txt de los fuentes del núcleo.

              El  fichero  msgmax es un límite global del sistema que especifica el número máximo de bytes de un
              único mensaje escrito en una cola de mensajes System V.

              El fichero msgmni define el límite global del sistema para el número de identificadores  de  colas
              de mensajes.  (Este fichero sólo existe en Linux 2.4 y posteriores.)

              El  fichero  msgmnb  es  un  parámetro  global  del  sistema  que se usa para inicializar el valor
              msg_qbytes para  las  colas  de  mensajes  creadas  posteriormente.   El  valor  de  configuración
              msg_qbytes especifica el número máximo de bytes que se pueden escribir en una cola de mensajes.

              Los ficheros ostype y osrelease dan subcadenas de /proc/version.

              Los   ficheros   overflowgid  y  overflowuid  duplican  los  ficheros  /proc/sys/fs/overflowgid  y
              /proc/sys/fs/overflowuid.

              El fichero panic da los accesos de lectura/escritura sobre la variable del  núcleo  panic_timeout.
              Si  esto es 0, el núcleo entrará en un bucle infinito ante una situación de pánico; si no es cero,
              indica que el núcleo debe autoreinicializarse después de ese número de  segundos.  Cuando  usa  el
              manejador del dispositivo guardián software, el valor recomendado es 60.

              El  fichero  powersave-nap (sólo en PowerPC) contiene una bandera. Si está activa, Linux-PPC usará
              el modo `nap' de ahorro de energía, en caso contrario usará el modo `doze'.

              Los  cuatro  valores  del   fichero   printk   son   console_loglevel,   default_message_loglevel,
              minimum_console_level  y default_console_loglevel.  Estos valores influyen en el comportamiento de
              printk() cuando se muestran o guardan en registro mensajes de error. Vea  syslog(2)  para  obtener
              más  información  sobre  los  diferentes  `loglevels'  (niveles de registro). Los mensajes con una
              prioridad mayor que console_loglevel se mostrarán en la consola. Los mensajes  sin  una  prioridad
              explícita  se  mostrará con prioridad default_message_level.  minimum_console_loglevel es el valor
              mínimo (el más alto) que se puede asignar  a  console_loglevel.   default_console_loglevel  es  el
              valor por omisión para console_loglevel.

              El  directorio  random  contiene  varios  parámetros  que  controlan el funcionamiento del fichero
              /dev/random.

              El fichero real-root-dev se documenta en el fichero Documentation/initrd.txt de  los  fuentes  del
              núcleo.

              El  fichero  reboot-cmd  (sólo  en  Sparc)  parece  ser  una forma de proporcionar un argumento al
              cargador de arranque de la ROM/Flash de la SPARC. ¿Quizás para decirle qué hacer tras rearrancar?.

              El fichero rtsig-max se puede usar para ajustar el número máximo de señales (encoladas)  POSIX  de
              tiempo real que pueden estar pendientes en el sistema.

              El  fichero  rtsig-nr  muestra  el  número  de  señales  POSIX  de  tiempo  real que hay encoladas
              actualmente.

              El fichero sem (disponible desde la versión 2.4 de Linux) contiene 4 números que  definen  límites
              para los semáforos IPC de System V. Estos campos son, en orden:

              SEMMSL  Número máximo de semáforos por conjunto de semáforos.

              SEMMNS  Límite global del sistema para el número de semáforos en todos los conjuntos de semáforos.

              SEMOPM  Número máximo de operaciones que se pueden especificar en una llamada semop(2).

              SEMMNI  Límite global del sistema para el número máximo de identificadores de semáforo.

              El  fichero  sg-big-buff muestra el tamaño del buffer del dispositivo SCSI genérico (sg).  Todavía
              no puede ajustarlo, pero puede cambiarlo al compilar editando  include/scsi/sg.h  y  cambiando  el
              valor de SG_BIG_BUFF. No obstante, no debería existir ninguna razón para cambiar este valor.

              El fichero shmall contiene un límite global del sistema para el número total de páginas de memoria
              compartida System V.

              El  fichero  shmmax se puede usar para consultar y establecer el límite en tiempo de ejecución del
              tamaño máximo de segmento (IPC de System V) de memoria compartida que se puede crear. Actualmente,
              se permiten en el núcleo segmentos de memoria compartida de hasta 1 Gb. El valor  por  omisión  de
              este valor es SHMMAX.

              El  fichero  shmmni  (disponible  desde  la  versión  2.4 de Linux) especifica el número máximo de
              segmentos de memoria compartida System V que se pueden crear en todo el sistema.

              El fichero version contiene una cadena como:

              #5 Wed Feb 25 21:49:24 MET 1998.TP

              El `#5' significa que ésta es la quinta compilación del núcleo  a  partir  de  esta  base  de  los
              fuentes y la fecha que hay detrás indica el instante en el que se construyó el núcleo.

              El  fichero  zero-paged (sólo en PowerPC) contiene una bandera. Cuando está activa (valor distinto
              de cero), Linux-PPC se decicará a rellenar páginas con ceros  en  el  bucle  ocioso,  posiblemente
              acelerando la ejecución de get_free_pages.

              net    Este directorio contiene cosas de redes.

              proc   Este directorio puede estar vacío.

              sunrpc Este  directorio da soporte a las llamadas a procedimientos remotos de Sun para sistemas de
                     ficheros de red (NFS). Este fichero podría no existir en algunos sistemas.

              vm     Este directorio contiene ficheros para el ajuste de la gestión de memoria y la  gestión  de
                     buffers y cachés.

       sysvipc
              Subdirectorio  que  contiene los pseudoficheros msg, sem y shm.  Estos ficheros listan los objetos
              IPC (Interprocess Communication) de System V (respectivamente:  colas  de  mensajes,  semáforos  y
              memoria  compartida)  que  actualmente existen en el sistema, proporcionando información similar a
              aquella disponible a través  de  ipcs(1).   Estos  ficheros  poseen  encabezados  y  se  formatean
              (mostrando  un  objeto  IPC  por  línea)  para una mejor interpretación.  ipc(5) proporciona datos
              adicionales sobre la información mostrada por estos ficheros.

       tty    Subdirectorio que contiene pseudoficheros y subdirectorios para los manejadores  (drivers)  tty  y
              las disciplinas de líneas.

       uptime Este  fichero  contien  dos  números: los segundos que el sistema lleva funcionando y los segundos
              gastados en el proceso `idle'.

       version
              Esta cadena identifica la versión del núcleo  que  se  está  ejecutando  actualmente.  Incluye  el
              contenido de /proc/sys/ostype, /proc/sys/osrelease y /proc/sys/version. Por ejemplo:
            Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994

VÉASE TAMBIÉN

       cat(1),  find(1), free(1), mount(1), ps(1), tr(1), uptime(1), chroot(2), mmap(2), readlink(2), syslog(2),
       slabinfo(5),  hier(7),  arp(8),  dmesg(8),  hdparm(8),  ifconfig(8),  lsmod(8),   lspci(8),   netstat(8),
       procinfo(8), route(8) /usr/src/linux/Documentation/filesystems/proc.txt

CONFORME A

       Esto  conforma  aproximadamente  con  el  núcleo  2.4.17  de  Linux. Por favor, actualice esto cuando sea
       necesario.

       Ultima actualización para la versión 2.4.17 de Linux.

ATENCIÓN

       Observe que muchas cadenas (por ejemplo, el entorno y la línea de ordenes) están en formato interno,  con
       los  subcampos terminados por bytes NUL, por lo que puede encontrar que las cosas son más legibles si usa
       od -c o tr "\000" "\n" para leerlas. Alternativamente, también funciona bien echo `cat <file>`.

       Esta página de manual está incompleta, posiblemente inexacta y es el tipo  de  cosas  que  necesitan  ser
       actualizadas con mucha frecuencia.

RECONOCIMIENTOS

       El material sobre /proc/sys/fs y /proc/sys/kernel se basa en gran medida en los ficheros de documentación
       de los fuentes del núcleo escritos por Rik van Riel.

                                                  13 julio 2002                                          PROC(5)