A matança de processos criados na inicialização é segura?

0

Acabei de ter um vserver executando o debian 7 e sempre que eu inicio o servidor e chamo o comando top , há muitos processos iniciados automaticamente na inicialização.

Posso matá-los ou eles são críticos para a funcionalidade geral do vserver?

    
por MinecraftShamrock 25.08.2014 / 17:08

2 respostas

3

Como sempre, isso depende ...

Normalmente, quando instalo o Debian, começo com uma instalação mínima e adiciono a isso o que preciso e quero executar. Tudo o que é iniciado automaticamente deve estar em execução.

Você pode ter instalado e ativado (muito) mais do que o necessário, mas matar aleatoriamente as coisas é o caminho errado para reduzir qualquer sobrecarga potencial.

Verifique o que está instalado, quais serviços são iniciados automaticamente na inicialização do sistema e determine se você precisa deles.

Em seguida, interrompa esse serviço específico normalmente (por exemplo, tradicionalmente com /etc/init.d/servicename stop ) e, se nada quebrar, evite que o serviço seja iniciado automaticamente ou remova o pacote completamente.

Muito do que você vê em top pode ser threads de kernel que você simplesmente não pode matar de qualquer maneira. Por exemplo, neste sistema mais ocioso:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
25878 <me>      20   0 15036 1172  912 R    0  0.0   0:00.09 top
    1 root      20   0 19356 1516 1196 S    0  0.0   0:02.01 init
    2 root      20   0     0    0    0 S    0  0.0   0:00.21 kthreadd
    3 root      RT   0     0    0    0 S    0  0.0   0:01.03 migration/0
    4 root      20   0     0    0    0 S    0  0.0   0:00.20 ksoftirqd/0
    5 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0
    6 root      RT   0     0    0    0 S    0  0.0   0:01.75 watchdog/0
    7 root      RT   0     0    0    0 S    0  0.0   0:00.36 migration/1
    8 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/1
    9 root      20   0     0    0    0 S    0  0.0   0:00.36 ksoftirqd/1
   10 root      RT   0     0    0    0 S    0  0.0   0:01.72 watchdog/1
   11 root      20   0     0    0    0 S    0  0.0   0:37.92 events/0
   12 root      20   0     0    0    0 S    0  0.0   0:43.73 events/1

você vê apenas dois aplicativos reais top e init e o restante tem uma indicação de pegada de memória 0 que fazem parte do kernel.

Matar init , que é o pai de todos os processos no sistema e é responsável por iniciar todos os outros processos, é uma maneira de matar o seu sistema e algo que deve ser evitado ...

    
por 25.08.2014 / 17:33
1

Alguns provavelmente são. Alguns podem não ser.

Se você verificar ps fxa , verá que muitos deles são filhos de [kthreadd] e têm nomes também entre colchetes. Aqueles que você pode ignorar principalmente (eles fazem parte do kernel Linux).

Além disso, você terá que pesquisar cada um individualmente. Alguns (por exemplo, init ) são críticos. Outros são críticos dependendo de como você usa o servidor ( sshd , apache2 / httpd , etc.). Outros são necessários apenas se você ou seu código fizer uso desse recurso (por exemplo, atd ).

Matá-los geralmente não é o jeito de lidar com eles. Em vez disso, você vai querer desabilitá-los começando em primeiro lugar (ou removê-los completamente). Como fazer isso depende da distro que seu vserver está rodando.

    
por 25.08.2014 / 17:29