
저는 데스크탑 환경에서 우분투 서버 10.10을 실행하고 있습니다.
간단한 페이지 요청은 로컬 네트워크를 통해 서버에 연결하더라도 5초 이상 걸립니다.
서버가 더 빠르게 작동했지만(로컬 네트워크에 있다는 점을 고려하면 그만큼 빠르지는 않지만) taskel이 매번 실패하기 때문에 이것이 데스크톱 환경 설치와 부분적으로 관련이 있다고 생각합니다(적성 100 실패). 네트워킹과 Linux에 대한 나의 지식은 일반적으로 제한되어 있습니다. 이 문제를 해결할 수 있는 방법에 대한 아이디어를 정말 감사하겠습니다.
아, 또한 시스템 모니터에서 프로세서 중 하나가 거의 항상 약 100%입니다. 이것도 정상인지 의심스럽네요....
답변1
사실 문제가 있는 게 틀림없어요.... 우분투 서버에 대한 자세한 내용은 모르지만 데비안에서는 다음 명령으로 GUI를 끄면 됩니다.
/etc/init.d/gdm stop
그런 다음 로드된 CPU에 대해 설명합니다. 일부 미친 프로세스가 잘못되었거나(그래픽 환경에서) 충돌한 커널 드라이버입니다. 먼저 top
명령을 사용하여 해당 CPU 전력을 소비하는 프로세스를 식별합니다. 다음은 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" 줄입니다. 이는 시스템 리소스를 잡아먹는 사용자, 시스템, Nice 또는 대기 프로세스인지를 보여줍니다. CPU를 사용하는 명확한 프로세스가 없다면 이는 드라이브 결함이나 드라이버 충돌(종종 하드웨어 결함으로 인해) 등으로 인해 일부 차단된 IO(대기)일 수 있습니다. 커널 드라이버 충돌 또는 죄송합니다 또는 충돌을 식별하려면 'dmesg' 명령 또는 '/var/log/messages' 파일의 출력을 참조하십시오.
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>
or 를 사용하여 정중하게 종료해 보십시오. killall <program name>
예를 들어 이전에 본 'top' 출력에서 'dnetc' 프로그램을 종료하려면 다음 중 하나를 수행하십시오.
kill 5059
killall dnetc
그러나 수리할 수 없을 정도로 파손되어 단순히 응답하지 않을 가능성이 있습니다. 그래서 당신은 kill -9 <pid>
또는 로 그것을 강제로 죽여야 할 것입니다killall -9 <program name>
kill -9 5059
killall -9 dnetc
결함이 있는 드라이버나 커널은 어떻습니까? 불행히도 재부팅해야만 문제를 해결할 수 있습니다. 결함이 있는 드라이브의 경우 교체해야 합니다. 방법이 없습니다.
답변2
를 사용하여 데스크탑 관리자를 제거할 수 있습니다 apt-get remove gdm
. 더 나아가 GNOME을 모두 제거하려면(GUI를 실행하지 않는 경우 좋은 생각일 수 있음) 다음을 시도하십시오.
apt-get remove libgtk2.0-0
데비안에서는 위의 내용으로 인해 libgtk2.0-0에 의존하는 모든 패키지, 즉 모든 GNOME 패키지도 제거됩니다. 그러나 내 Ubuntu 호스트에서 이것을 시도하면 대신 종속성이 충족되지 않은 패키지에 대해 불평하면서 apt-get이 삐걱거리는 것을 볼 수 있습니다. 어리석고 성가신 것처럼 보이지만 모든 종속 패키지를 제거하고 모두 사라질 때까지 필요한 만큼 다시 시도하면 문제를 해결할 수 있습니다.