O ulimit Underappreciated
Você pode pensar no ulimit
Menu
o ulimit comando é simples de fazer e incluído no bater Concha. A beleza de ser uma parte do shell é que você pode
Incluir ulimit no perfil do usuário individual e restringi-la a esse usuário.
Coloque suas restrições em / Etc / profile e tê-los se aplicam a todos os usuários.
É importante saber que ulimit não limita o espaço de armazenamento - que é o domínio da contingente série de comandos. Ao invés, ulimit se destina a regular processos e você pode limitá-los de três maneiras:
Ilimitado (o padrão)
Difícil limitado (o usuário não pode exceder)
Soft Limited (o usuário mal pode exceder).
Se o limite que lugar é difícil ou suave é baseada unicamente em se utilizar o -H ou -S parâmetro.
Uma lista completa dos parâmetros que podem ser definidos podem ser encontradas no ficheiro para homem bater, mas estes são alguns dos melhores usos desta função.
Vendo o que está definido
Para ver o que os limites são atualmente definido, o tipo ulimit na linha de comando. Se não há restrições duras ou macias definido, a resposta retornada será simplesmente ilimitado. Isso não significa que não há limites, no entanto, e você tem que ter cuidado para não cair na armadilha de pensar desta maneira. Digitar ulimit -a e será mostrada uma lista de todas as restrições. Esta é uma resposta muito mais útil, e será semelhante ao seguinte:
o tamanho do arquivo de núcleo (blocos, -c) tamanho 0data seg (kbytes, -d) tamanho unlimitedfile (blocos, -f) unlimitedmax bloqueado memória (kbytes, -l) 32max tamanho da memória (kbytes, -m) arquivos unlimitedopen (-n) tamanho 1024pipe (512 bytes, -p) tamanho 8stack (kbytes,-s) tempo unlimitedcpu (segundos, -t) processos de usuário unlimitedmax (u) de memória 2038virtual (kbytes, -v) ilimitada
Não só este dar uma imagem mais realista das limitações do sistema, mas também inclui os parâmetros que você precisa usar para alterar qualquer uma das configurações (poupando-o de ter que ler o homem Páginas). Essas definições que pretende limitar na maioria das vezes são aqueles relacionados a processos, memória virtual, e tamanho do arquivo.
A definição de um valor
A maneira mais fácil de definir um limite é usar o parâmetro que é necessário, e especificar o valor. Por exemplo, para reduzir significativamente o número de processos que um usuário pode ter a partir do padrão de 100, você pode usar o comando ulimit -u 100. Curiosamente, quando você digita ulimit, você ainda vai ter a resposta "ilimitado". Agora, no entanto, quando você digita ulimit -a a resposta será semelhante ao seguinte:
núcleo siz arquivo (blocos, -c) tamanho 0data seg (kbytes, -d) tamanho unlimitedfile (blocos, -f) unlimitedmax bloqueado memória (kbytes, -l) 32max tamanho da memória (kbytes, -m) arquivos unlimitedopen (-n) tamanho 1024pipe (512 bytes, -p) tamanho 8stack (kbytes,-s) tempo unlimitedcpu (segundos, -t) processos de usuário unlimitedmax (u) de memória 100virtual (kbytes, -v) ilimitada
porque nem -H nem -S foram especificados, o valor definido é tanto duro e macio. Para ver que este valor tem algum significado, defina-o muito baixo em sua própria sessão com este comando e ver o resultado: ulimit -u 2.
Definir limites suaves
Uma vez definido, um limite rígido não pode ser aumentado, enquanto um limite suave pode ser aumentado até atingir o valor de um limite rígido. Suponha que os processos máximos de usuários ainda é 2038 (o que pode ser definido de volta para com ulimit -u 2038) E você só quer mudar o limite suave. O comando para dar a alterar apenas o limite suave é: ulimit -S-u 100.
digitando ulimit -a irá mostrar o valor fixado em 100 e não realmente alertar para o fato de que este é um limite suave. Para ver o que está acontecendo, o tipo ulimit -H -a e ulimit -a -S e compare a saída de ambos os comandos. Eles devem ser idênticos, exceto para o número de processos de usuário, com o limite rígido sendo 2.038 eo limite suave sendo 100.
Para ver a diferença que isso faz, tente ulimit -S-u 2 e ver o resultado, comparando-o com o que aconteceu antes. Você agora está permitido exceder o limite.
Pense em um limite suave como mais de um recomendação do que uma regra.
A fixação de limites rígidos
Um limite rígido é realmente um regra. Uma vez definido, ele não pode ser ultrapassado.
As duas maneiras de definir o limite de disco rígido são: ou
Não especificar nada (ulimit -u 100), que define de forma eficaz tanto os limites duros e macios
Use o parâmetro -H: ulimit -H u 100
Para definir um valor para ilimitado, use a palavra em si: ulimit -u ilimitado.
Para ver apenas um valor, especifique esse parâmetro. Por exemplo, para ver o valor suave de processos de usuário, digite: ulimit -Su
Os valores padrão são definidos em / Etc / profile mas podem (em algumas implementações) também ser derivados de valores definidos em / Etc / initscript ou /etc/security/limits.conf.