El inicio lento de Linux NFS problema La aceleración de arranque Redhat cambia el nombre del equipo incrustado linu

  

El arranque lento de NFS en Linux Redhat cuando se arranca la máquina virtual VMWare, permanece durante mucho tiempo al iniciar el servicio NFS, la razón y la solución son las siguientes: Cada vez que el cliente monta NFS y no tiene un desmontaje normal, dejará un registro en /var /lib /nfs /rmtab. Cada vez que se inicie NFS, comprobará la IP anterior. Si no funciona, espere hasta que finalice el tiempo de espera. . Cat rmtab look, una gran cantidad de IP utilizada se recuerda en el interior, no es de extrañar que sea tan lento como un caracol. Después de vaciarlo, lo probé y la velocidad es cada vez más rápida. Linux cambie el nombre de la computadora - realice los siguientes pasos: 1) abra un shell, toque el comando a continuación: [root @ kcn-110] #hostname kcn-110mw2) edite el archivo: /etc /sysconfig /network , cambie el valor de 'HOSTNAME': [root @ kcn-110] #vi /etc /sysconfig /networkNETWORKING = yesHOSTNAME = kcn-110mw3) edite el archivo: /etc /hosts, cambie la dirección IP y su nombre de host [root @ Kcn-110] #vi /etc /hosts # No elimine la siguiente línea, o varios programas # que requieren funcionalidad de red fallarán. # 127.0.0.1 localhost.localdomain localhost192.168.0.110 kcn-110mw kcn-110mw El controlador de Linux lee y escribe el puerto IO. En el brazo, Linux, todos harán phy-> virt mapping. Uno de los métodos de mapeo es el mapeo estático, y ioremap es el mapeo dinámico. Después de la asignación estática, la asignación dinámica todavía se puede hacer a través de un mapa de referencia, es decir, una dirección física de E /S se puede asignar a varias direcciones virtuales.
(1) Acerca del espacio de E /S: Hay un concepto de espacio de E /S en el procesador X86. El espacio de E /S es relativo al espacio de memoria, al que se accede mediante instrucciones específicas de entrada y salida. El número de puerto identifica la dirección de registro del periférico. El formato de las instrucciones de sintaxis de entrada y salida de Intel es: IN acumulador, {número de puerto│DX} OUT {número de puerto│DX}, acumulador Actualmente, la mayoría de los microcontroladores integrados como ARM, PowerPC, etc. no proporcionan I /O Espacio, pero solo espacio de memoria. Se puede acceder al espacio de memoria directamente a través de la dirección y el puntero. Las variables y otros datos utilizados en el programa y el programa que se ejecuta existen en el espacio de memoria. Incluso en el procesador X86, aunque se proporciona espacio de E /S, si diseñamos la placa nosotros mismos, los periféricos todavía pueden conectarse al espacio de la memoria. En este punto, la CPU puede acceder a los puertos de E /S periféricos como si fuera una unidad de memoria, sin la necesidad de configurar instrucciones de E /S especializadas. Por lo tanto, el espacio de memoria es una necesidad, y el espacio de E /S es opcional.
(2) inb y outb: en el controlador de dispositivo de Linux, debe usar la función proporcionada por el kernel de Linux para acceder al puerto ubicado en el espacio de E /S, estas funciones incluyen: puerto de byte de escritura y lectura (ancho de 8 bits) sin signo inb ( Puerto sin firmar); void outb (byte de caracteres sin firmar, puerto sin firmar); · puerto de palabra de lectura /escritura (ancho de 16 bits) sin signo inw (puerto sin signo); void outw (palabra corta sin signo, puerto sin signo); · Puerto (32 bits de ancho) sin signo inl (puerto sin signo); void outl (long sin signo, sin signo); · lee y escribe una cadena de bytes insb (puerto sin signo, void * addr, long with unsigned); Puerto, void * addr, cuenta larga sin signo); · insb () lee el puerto de bytes de conteo desde el puerto y escribe el resultado en la memoria apuntada por addr; outsb () cuenta la memoria apuntada por addr Los bytes se escriben continuamente en el puerto donde se inicia el puerto. · leer y escribir una cadena de palabras void insw (puerto sin firmar, void * addr, cuenta larga sin signo); void outsw (puerto sin firmar, void * addr, cuenta larga sin firmar); middot; leer y escribir una cadena larga de void insl (puerto sin signo , void * addr, cuenta larga sin firma); void outsl (puerto sin firma, void * addr, cuenta sin firmar larga); el tipo de puerto de puerto de E /S en cada una de las funciones anteriores depende en gran medida de la plataforma de hardware específica, por lo que simplemente escriba Sin firmar (3) readb y writeb: después de que la dirección física del dispositivo se asigna a la dirección virtual, aunque se puede acceder a la dirección directamente a través del puntero, el ingeniero debe usar el siguiente conjunto de funciones del kernel de Linux para leer y escribir la dirección virtual del mapa de memoria del dispositivo. Estas funciones incluyen: · leer I /O memory unsigned int ioread8 (void * addr); unsigned int ioread16 (void * addr); unsigned int ioread32 (void * addr); la versión anterior de la función correspondiente a la función anterior es (Estas funciones aún se admiten en Linux 2.6): readb sin firmar (dirección); readw sin firmar (dirección); readl sin firmar (dirección); · Escribir memoria de E /S void iowrite8 (valor de u8, void * addr); void iowrite16 (valor de u16, void * addr); void iowrite32 (valor de u32, void * addr); La versión anterior de la función correspondiente a la función anterior es (estas funciones aún se admiten en Linux 2.6): void writeb (valor sin signo, dirección vow writew (valor sin firmar, dirección); void writel (valor sin signo, dirección);

Copyright © Conocimiento de Windows All Rights Reserved