我在桌面环境下运行ubuntu服务器10.10。
即使通过本地网络连接到服务器,简单的页面请求也要花费超过5秒的时间。
我认为这在一定程度上与安装桌面环境有关,因为服务器工作得更快(但不像它应该在本地网络上那样快),但是每次任务程序都会失败(智能失败100次)。我对网络和linux的了解是有限的。我很想知道如何解决这个问题。
同时,在系统监视器中,一个处理器几乎总是100%左右。我怀疑这也是正常的..。
发布于 2011-11-17 17:28:12
实际上肯定有问题..。我不知道ubuntu服务器的细节,但是在Debian上,您可以使用命令关闭GUI
/etc/init.d/gdm stop然后是加载的CPU :要么是某个疯狂的进程出错了(可能是在图形环境中),要么是一个崩溃的内核驱动程序。首先,使用top命令来确定哪个进程消耗了CPU的能力,下面是一个完全加载进程('dnetc')的'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 “top”输出中的另一个指示是"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: 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另一种可能是将死驱动器上的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有问题的驱动程序或内核呢?不幸的是,只有重新启动才能修复它。至于有问题的驱动器,好吧,你必须更换它,没有办法了。
发布于 2011-11-17 21:50:47
您可以使用apt-get remove gdm删除桌面管理器。如果您想进一步删除GNOME (如果您没有运行GUI可能是个好主意),请尝试
apt-get remove libgtk2.0-0在Debian中,上面提到的所有依赖于libgtk2.0的包--即所有GNOME--也会被删除。但是在我的Ubuntu主机上,当我尝试这样做时,我看到了apt-get croaks,抱怨包中有未满足的依赖项。这看起来既愚蠢又烦人,但它可以通过删除所有依赖的包并再试一次来解决,直到它们全部消失为止。
https://serverfault.com/questions/332022
复制相似问题