
Estoy ejecutando el servidor Ubuntu 10.10 con el entorno de escritorio.
Las solicitudes de página simples tardan más de 5 segundos incluso cuando nos conectamos al servidor a través de nuestra red local.
Creo que esto está parcialmente relacionado con tener instalado el entorno de escritorio, ya que el servidor funcionó más rápido (pero no tan rápido como debería considerando que está en la red local), pero el taskel falla cada vez (aptitude falló 100). Mis conocimientos sobre redes y Linux en general son limitados. Realmente agradecería ideas sobre cómo puedo solucionar este problema.
Ah, también, en el monitor del sistema, uno de los procesadores casi siempre está alrededor del 100%. Dudo que esto también sea normal...
Respuesta1
En realidad debe haber un problema... No conozco los detalles del servidor Ubuntu, pero en Debian apagas la GUI con el comando
/etc/init.d/gdm stop
Luego, sobre la CPU cargada: o es algún proceso loco que salió mal (posiblemente en el entorno gráfico) o un controlador del kernel fallado. Primero, use el top
comando para identificar qué proceso consume esa energía de la CPU; aquí hay un ejemplo de salida "superior" con un proceso ("dnetc") cargando completamente la CPU:
top - 18:11:54 up 157 days, 7:47, 3 users, load average: 1.07, 1.25, 1.25
Tasks: 122 total, 2 running, 120 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.7%us, 1.0%sy, 94.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 1034424k total, 971320k used, 63104k free, 61636k buffers
Swap: 8000352k total, 116816k used, 7883536k free, 202912k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5059 emmanuel 39 19 7780 4364 184 R 94.4 0.4 6919:54 dnetc
16077 root 20 0 117m 53m 6728 S 2.7 5.3 10:45.67 X
17783 emmanuel 20 0 990m 487m 30m S 2.3 48.3 20:11.99 firefox
17606 emmanuel 20 0 9340 5368 3248 S 0.7 0.5 0:02.82 wmaker
Otra indicación en la salida 'superior' es la línea "Cpu": muestra si es un usuario, sistema, proceso agradable o en espera el que devora los recursos de su sistema. Si ningún proceso definido consume su CPU, puede deberse a alguna E/S bloqueada (espera), por ejemplo debido a una unidad defectuosa o a un controlador averiado (a menudo debido a algún hardware defectuoso). Vea el resultado del comando 'dmesg' o el archivo '/var/log/messages' para identificar fallos del controlador del kernel o fallos o fallos:
CPU 3:
Modules linked in: pvfs2 bonding md_mod ipv6 fan ac battery dm_snapshot dm_mirror dm_mod af_packet sg loop usbhid uhci_hc
d usb_storage e1000 8250_pnp 8250 serial_core rtc shpchp pcspkr k8temp i2c_nforce2 button pci_hotplug thermal processor i2c_core ehci_hcd forcedeth ohci_hcd u
sbcore evdev 3w_9xxx sata_nv libata
Pid: 12124, comm: pvfs2-client-co Tainted: G D 2.6.24.7-storiq64-opteron #1
RIP: 0010:[<ffffffff80502ad7>] [<ffffffff80502ad7>] _spin_lock+0x7/0x10
RSP: 0018:ffff8102a48e3ec0 EFLAGS: 00000286
RAX: 00000000fffffe53 RBX: 00000000fffffe53 RCX: ffff8102a48e3f50
RDX: 00000000fffffe53 RSI: 00000000000001fd RDI: ffff81041692d7e0
RBP: ffff81000104b600 R08: ffff810414c8d928 R09: ffff810414c8d900
R10: 0000000000000000 R11: 0000000000000202 R12: ffff81000104fa20
R13: 0000000000000000 R14: ffff810236df1018 R15: ffff810417662b80
FS: 00002b365c208ae0(0000) GS:ffff81041811f640(0000) knlGS:00000000f7ddf8e0
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000628288 CR3: 000000029b6ef000 CR4: 00000000000006a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Call Trace:
[<ffffffff881e481f>] :pvfs2:pvfs2_devreq_read+0x1cf/0x400
[<ffffffff802954f5>] vfs_read+0xc5/0x160
[<ffffffff802959d3>] sys_read+0x53/0x90
[<ffffffff8020bc1e>] system_call+0x7e/0x83
Otra posibilidad es un error de IO en una unidad moribunda, algo como:
Apr 30 04:05:26 linux kernel: end_request: I/O error, dev /dev/sda sector 53445
¿Ahora cómo corregir el problema? Si se trata de algún programa de usuario que se ha vuelto loco, simplemente elimínelo. Primero intente eliminarlo cortésmente con kill <process ID>
o killall <program name>
, por ejemplo, para eliminar el programa 'dnetc' de la salida 'superior' vista anteriormente, cualquiera de las dos opciones sería suficiente:
kill 5059
killall dnetc
Pero existe la posibilidad de que simplemente no responda porque está roto sin posibilidad de reparación. Entonces tendrás que forzarlo a matarlo con kill -9 <pid>
okillall -9 <program name>
kill -9 5059
killall -9 dnetc
¿Qué pasa con los controladores o el kernel defectuosos? Lamentablemente, sólo un reinicio puede solucionarlo. En cuanto a la unidad defectuosa, bueno, tendrás que reemplazarla, no hay forma de evitarlo.
Respuesta2
Puedes eliminar el administrador de escritorio con apt-get remove gdm
. Si desea ir más allá y eliminar todo GNOME (probablemente sea una buena idea si no está ejecutando una GUI), intente
apt-get remove libgtk2.0-0
En Debian, lo anterior provocaría que todos los paquetes que dependen de libgtk2.0-0 (es decir, todos los de GNOME) también se eliminaran. Pero en mi host Ubuntu, cuando intento esto veo que apt-get grazna, quejándose de paquetes con dependencias no satisfechas. Eso parece estúpido y molesto, pero se puede solucionar eliminando todos los paquetes dependientes e intentando nuevamente, tantas veces como sea necesario hasta que desaparezcan todos.