Todas as mensagens (AHAYAKAWA)Re: Configuração ulimit para usuário |
||
|---|---|---|
|
Pessoal desculpe por reviver o tópico, demorei mas encontrei a solução do meu problema e decidi deixar a solução aqui para todos.
O artigo é em inglês mas ele altera o valor do ulimit -n para todos os usuários, tinha tentado uma solução parecida alterando o limits.conf, mas sem sucesso, mas da forma descrita abaixo funciona perfeitamente. Issue: How do I increase the maximum number of open files on my system? The current setting for maximum number of open files can be viewed with the command: ulimit -n This number indicates the maximum number of files normal users (i.e. non-root) can have open in a single session. Note that for the root user, ulimit -n will sometimes output 1024 even after following the procedure to increase the maximum number of open files. This won't effect root's ability to open large numbers of files, as only normal users are bound by this value. To increase the maximum number of open files beyond the default of 1024, two changes to the system may be necessary. In these examples, we will increase the maximum number of open files to the arbitrary value of 2048. All changes need to be made by the root user and users will need to log out and log back in before the changes will take effect. 1. Configure the system to accept the desired value for maximum number of open files Check the value in /proc/sys/fs/file-max to see if it is larger than the value needed for the maximum number of open files: # cat /proc/sys/fs/file-max If the value isn't large enough, echo an appropriate number into the variable and add the change to /etc/sysctl.conf to make it persistent across reboots. If the number is already larger than the value you wish to use, skip to step 2. # echo 2048 > /proc/sys/fs/file-max and edit /etc/sysctl.conf to include the line: fs.file-max = 2048 2. Set the value for maximum number of open files In the file /etc/security/limits.conf, below the commented line that reads #<domain> <type> <item> <value> add this line: * - nofile 2048 This line sets the default number of open file descriptors for every user on the system to 2048. Note that the "nofile" item has two possible limit values under the <type> header: hard and soft. Both types of limits must be set before the change in the maximum number of open files will take effect. By using the "-" character, both hard and soft limits are set simultaneously. The hard limit represents the maximum value a soft limit may have and the soft limit represents the limit being actively enforced on the system at that time. Hard limits can be lowered by normal users, but not raised and soft limits cannot be set higher than hard limits. Only root may raise hard limits. When increasing file limit descriptors, you may want to simply double the value. For example, if you need to increase the default value of 1024, increase the value to 2048 first. If you need to increase it again, try 4096, etc.
Enviado em: 13/2/2009 9:11
|
||
Transferir
|
||
Re: Configuração ulimit para usuário |
||
|---|---|---|
|
então o ulimit não é um comando direto e sim uma função interna do bash, esse é o problema, por isso o sudo não funciona tbem.
Enviado em: 5/9/2008 13:07
|
||
Transferir
|
||
Re: Configuração ulimit para usuário |
||
|---|---|---|
|
Amigo não sei se entendi sua sugestão ou mais provavelmente não expliquei direito o meu procedimento ;), vamos lá, vou tentar explicar passo a passo o que tenho de fazer para ficar mais claro o meu problema.
1. Faço o login com um usuário comum 2. Executo manualmente o ulimit -n 32786, pois meu programa não faz isso antes de iniciar, por isso creio que o stickbit não funcione e é nessa etapa que tenho problema, pelo menos foi o que entendi da sua solução, endendi certo?? pois o usuário não tem permissão de executar o comando ulimit -n 32786 3. Start no meu serviço, só que ele não pode rodar com o usuário root o que estou fazendo para contornar esse problema: 1. Login como root 2. Executo o ulimit -n 32786, mas como esse comando só vale para a seção aberta, não posso abrir outra seção com o usuário comum, pois ele começa essa com o valor default 3. para não sair da seção e mudar para o usuário comum uso o comando su usuário, assim mantenho a mudança feita pelo ulimit 4. Start no serviço
Enviado em: 5/9/2008 9:49
|
||
Transferir
|
||
Configuração ulimit para usuário |
||
|---|---|---|
|
Pessoal essa é minha primeira participação no forum e espero que vocês possam me ajudar, o problema é o seguinte, montei um servidor de aplicação com o CentOS5, mas quando vou iniciar um programa especifico, que não pode rodar como root, preciso mudar alguns parâmetros através do comando ulimit, só que o ulimit -n é bloqueado para usuários comuns, somente o root pode alterá-lo, pesquisei no help do comando e existe uma observação que alguns sistemas bloqueiam a edição desse parâmetro, creio que seja o caso do CentOs :( , e como ele volta aos valores iniciais cada vez que vc abre uma nova seção estou tendo de fazer um malabarismo para iniciar o programa, abro uma seção como root, executo o ulimit -n e como não posso fechar essa seção, dou o comando su para acessar a conta de usuário comum para abrir o software, mas queria evitar isso.
Já tentei as seguintes soluções sem sucesso: - Alterei o arquivo limits.conf na pasta etc/security/ , mas o parâmetro não muda, tentei alterar outros parâmetros para testar e funciona perfeitamente. - Inclui no profiles para cada vez que uma nova seção for aberta o parâmetro seja mudado, mas na hora que a nova seção abre recebo a mensagem que o usuário não pode modificar o parâmetro - Tentei executar pelo sudo, mas como se trata de um comando do bash, não é possível executar Alguém teria mais alguma sugestão? ou sabe se é possível alterar esse bloqueio? Agradeço antecipadamente qquer ajuda. Alexandre
Enviado em: 5/9/2008 7:38
|
||
Transferir
|
||



Transferir