奇怪的进程,哪一个可以被禁用?以及如何禁用?
你好,我刚刚从 VPS 升级到专用服务器。在 VPS 中,RAM 使用量约为 50MB。
但在这个新的专用服务器中,RAM 使用量超过 400MB
我不知道什么进程需要太多的内存,
看着top
,有那么多未知的过程
top - 03:54:51 up 15:35, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 100 total, 1 running, 99 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2065588k total, 440844k used, 1624744k free, 81392k buffers
Swap: 7823644k total, 0k used, 7823644k free, 294504k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3648 root 15 0 2204 1008 800 R 0.9 0.0 0:00.08 top
1 root 15 0 2072 580 500 S 0.0 0.0 0:00.88 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.03 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.14 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1
8 root RT -5 0 0 0 S 0.0 0.0 0:00.02 migration/2
9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2
10 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/2
11 root RT -5 0 0 0 S 0.0 0.0 0:00.14 migration/3
12 root 39 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3
13 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/3
14 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/0
15 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1
16 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/2
17 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/3
18 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 khelper
19 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
25 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
26 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/1
27 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/2
28 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/3
29 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
120 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0
121 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/1
122 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/2
那么,哪一个可以被禁用?以及如何禁用?
提前致谢
(运行CentOS 5.3的服务器)
答案1
它们不能,或者至少不应该。除了 top 和 init(从您的列表中)之外,它们都是内核进程,并且 init 是 Linux 机器上运行的所有进程的父进程(直接或间接)。如果您还观察 top 输出的 VIRT/RES 列,您列出的大多数进程在这些列中都有 0,它们不会以任何传统方式为您的内存使用做出贡献。
您的“实际”内存使用量接近 64Mb(已用 - 缓冲区 - 缓存)。缓冲区/缓存由 Linux 内核用于缓存文件系统。未使用的 RAM 是浪费的 RAM,因此内核将其用作缓冲区/缓存,如果应用程序请求,RAM 将可用。
也可以看看这个 serverfault 问题,其中发布了一些关于理解 Linux 内存管理/使用的链接。
答案2
您列出的所有进程(通常以 /1 和 /2 结尾的进程)都是内核线程,它们与内核中的功能相关联,并且您不能或者不想禁用其中的大多数。ksoftirqd 正在处理软件中断(/0 表示在第一个 CPU 上运行,/0 表示在第二个 CPU 上运行。...),watchdog/0 负责看门狗芯片,等等...
答案3
我当然不是专家,但我的印象是,可用内存用于预先缓存硬盘中的文件以提高系统性能。
我确信这里有人可以给你更好的答案......