Ubuntu的服务器10 – 速度慢,无法删除桌面环境

我正在运行与桌面环境的Ubuntu 10.10服务器。

即使通过我们的本地networking连接到服务器,简单的页面请求也需要5秒钟。

我相信这与安装桌面环境有部分关系,因为服务器工作得更快(但不像考虑它在本地networking上那么快),但tasksel每次都失败(能力失败100)。 我的networking和Linux的知识一般是有限的。 会真的很感激我如何解决这个问题的想法。

另外,在系统监视器中,其中一个处理器几乎总是在100%左右。 我怀疑这是正常的太….

其实一定有一个问题….我不知道Ubuntu的服务器的细节,但在Debian你会closuresGUI的命令

  /etc/init.d/gdm stop 

然后关于加载的CPU:或者是一些疯狂的进程出错(可能在graphics环境中),或者崩溃的内核驱动程序。 首先,使用top命令来确定哪个进程消耗了CPU能力,下面是一个使用进程('dnetc')完全加载CPU的“top”输出示例:

 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 

“顶部”输出中的另一个指示是“Cpu”行:它显示了是用户,系统,好还是等待进程吞噬了系统资源。 如果没有确定的进程消耗你的CPU,它可能是一些阻塞的IO(等待),例如由于驱动器故障或驱动器崩溃(通常是由于某些硬件故障)。 请参阅'dmesg'命令或'/ var / log / messages'文件的输出来识别内核驱动程序崩溃或Oopses或崩溃:

 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: GD 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 

另一种可能性是死亡驱动器上的IO错误,如下所示:

 Apr 30 04:05:26 linux kernel: end_request: I/O error, dev /dev/sda sector 53445 

现在如何纠正这个问题? 如果这是一些用户程序疯了,干脆杀了它。 首先尝试用kill <process ID>或者killall <program name>礼貌地杀死它,例如从以前看到的“top”输出中杀死“dnetc”程序,要么:

 kill 5059 killall dnetc 

但有一些机会,它不会因为任何修复而被打破。 所以你必须用kill -9 <pid>或者killall -9 <program name>强制杀死它

 kill -9 5059 killall -9 dnetc 

那么错误的驱动程序或内核呢? 不幸的是只有重新启动才能修复它。 至于错误的驱动器,那么,你将不得不更换它,没有办法。

您可以使用apt-get remove gdm删除桌面pipe理器。 如果你想进一步去掉所有的GNOME(如果你没有运行一个graphics用户界面,可能是一个好主意),试试吧

 apt-get remove libgtk2.0-0 

在Debian中,上面的代码会导致所有依赖于libgtk2.0-0的软件包,也就是所有的GNOME,也被删除。 但是,在我的Ubuntu主机上,当我尝试这个时,我发现apt-get croaks,抱怨未满足的依赖包。 这看起来很愚蠢和烦人,但是可以通过删除所有依赖的包然后再次尝试,尽可能多的时间,直到他们都走了。