Comandos Linux

Como definir o valor de ulimit permanentemente

Como definir o valor de ulimit permanentemente

No Linux, ulimit é uma ferramenta integrada para gerenciar a alocação de recursos em nível global, de grupo e de usuário. Para um sistema multiusuário como o Linux, esse recurso é quase fundamental para ter. Pode evitar o consumo de recursos indesejados do sistema, como RAM e energia da CPU.

Veja como definir o valor ulimit permanentemente no Linux.

Valor Ulimit

Ulimit impõe o limite predefinido de quantos recursos um usuário pode usar. A ferramenta usa um determinado arquivo de configuração como o núcleo para designar os valores ulimit. Para um controle mais ajustado, é melhor editar o arquivo.

$ cat / etc / security / limits.conf


Existem dois tipos de limites que podem ser impostos: limites suaves e rígidos. É melhor explicar esses tipos com um exemplo simples.

Digamos que um administrador de sistema gostaria que um determinado usuário pairasse em torno de um determinado valor. Aqui, o usuário pode exceder o valor, se necessário, mas não limitado por ele. Neste caso, será um limite flexível. Por outro lado, se o administrador deseja impor estritamente o limite, então será um limite rígido.

Usando ulimit

Ulimit é uma ferramenta de linha de comando. Aqui está a estrutura básica do comando ulimit.

$ ulimit

Exibir todos os limites

O sinalizador “-a” irá listar todas as opções e configurações para um determinado usuário. Se nenhum usuário for definido, ele irá imprimir os limites para o usuário atual.

$ ulimit -a

$ ulimit -a


Para exibir os limites suaves de um usuário, use o sinalizador “-S”.

$ ulimit -Sa


Para exibir os limites rígidos de um usuário, use o sinalizador “-H”.

$ ulimit -Ha


É possível ver os limites de um determinado processo. Os detalhes estão localizados no seguinte arquivo. Observe que é um arquivo único para cada um dos processos em execução. Troque o campo PID pelo PID do processo alvo.

$ cat / proc // limites

Parâmetros de limite

Para alterar o ulimit, você deve declarar qual tipo de limite deseja definir. Aqui está uma lista com todos os parâmetros disponíveis que você pode alterar. Quase todos eles definem o valor máximo de cada um dos parâmetros.

  • b: tamanho do buffer de soquete
  • c: Tamanho dos arquivos principais criados
  • d: Tamanho do segmento de dados do processo
  • e: Prioridade de agendamento (valor “bom”)
  • f: Número de arquivos criados pelo shell
  • i: Número de sinais pendentes
  • l: Tamanho para bloquear na memória
  • m: Tamanho do conjunto residente
  • n: Número de descritores de arquivos abertos
  • p: tamanho do buffer de tubulação
  • q: Número de bytes nas filas de mensagens POSIX
  • r: Prioridade de agendamento em tempo real
  • s: tamanho da pilha
  • t: tempo de CPU (em segundos)
  • T: Número de tópicos
  • u: Número de processos disponíveis para um usuário
  • v: Quantidade de memória virtual disponível para processar
  • x: Número de bloqueios de arquivo

Alterar o valor de ulimit temporariamente

É possível alterar temporariamente o valor de ulimit para um determinado usuário. A alteração permanecerá efetiva até que o usuário seja desconectado, a sessão expire ou o sistema seja reinicializado. Aqui, mostrarei um exemplo de como definir o número máximo de processo para um usuário.

Para alterar o número de processos disponíveis para 12345, execute o seguinte comando. Isso vai impor um limite rígido temporário ao usuário.

$ ulimit -u

$ ulimit -u 12345


Confira o limite rígido para verificar.

$ ulimit -Hu

Alterar o valor de ulimit permanentemente

Conforme mencionado anteriormente, ulimit utiliza um arquivo de configuração do sistema que determina o valor ulimit padrão. Ao fazer alterações neste arquivo, você pode alterar permanentemente o valor ulimit para qualquer usuário.

Abra o arquivo em seu editor de texto favorito. Observe que o arquivo deve ser aberto com permissão de root para que as alterações sejam salvas.

$ sudo vim / etc / security / limits.conf


Aqui, as entradas do arquivo seguem a seguinte estrutura.

$

Vamos fazer uma análise rápida de cada um dos campos.

  • domínio: nomes de usuário, grupos, intervalos GUID, etc.
  • tipo: Tipo de limite (suave / rígido)
  • item: o recurso que será limitado, por exemplo, tamanho do núcleo, nproc, tamanho do arquivo, etc.
  • valor: o valor limite

Aqui está uma lista de todos os itens disponíveis.

  • core: Limita o tamanho do arquivo principal (em KB)
  • cpu: tempo de CPU (em min)
  • dados: tamanho dos dados (em KB)
  • fsize: tamanho do arquivo (em KB)
  • bloqueios: bloqueios de arquivo que o usuário pode segurar
  • memlock: espaço de endereço bloqueado na memória (em KB)
  • nproc: Número de processadores
  • rtpio: Prioridade em tempo real
  • sigpending: Número de sinais pendentes

Para obter uma lista completa dos itens disponíveis, verifique a página de manual dos limites.conf.

limites de $ man.conf


Por exemplo, a seguinte entrada limitaria o número de núcleos de CPU que o usuário “Viktor” pode usar para 2.

$ viktor hard nproc 2

Depois de editado, salve o arquivo. Para que as alterações tenham efeito, os usuários afetados precisam se desconectar e fazer login novamente. Dependendo de como é implementado, também pode exigir que o sistema reinicie.

Pensamentos finais

A ferramenta ulimit oferece uma maneira poderosa de gerenciar recursos. É simples, mas poderoso no que faz. Faça o que fizer, certifique-se de que o limite que você está prestes a implementar foi inserido corretamente. Se você está experimentando essas coisas pela primeira vez, tente testá-las em uma máquina virtual primeiro.

Há mais no comando ulimit do que discuti aqui. Se você quiser saber mais, verifique o comando ulimit do Linux.

Computação feliz!

SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...
0 A.D. Tutorial
Dos muitos jogos de estratégia que existem, 0 A.D. consegue se destacar como um título abrangente e um jogo muito profundo e tático, apesar de ser de ...