Todas as mensagens (AHAYAKAWA)




Re: Configuração ulimit para usuário
Just popping in
Cadastrado em:
4/9/2008 10:53
Grupo:
Registered Users
Mensagens: 4
Offline
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 mensagem para outros aplicativos Transferir


Re: Configuração ulimit para usuário
Just popping in
Cadastrado em:
4/9/2008 10:53
Grupo:
Registered Users
Mensagens: 4
Offline
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 mensagem para outros aplicativos Transferir


Re: Configuração ulimit para usuário
Just popping in
Cadastrado em:
4/9/2008 10:53
Grupo:
Registered Users
Mensagens: 4
Offline
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 mensagem para outros aplicativos Transferir


Configuração ulimit para usuário
Just popping in
Cadastrado em:
4/9/2008 10:53
Grupo:
Registered Users
Mensagens: 4
Offline
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 mensagem para outros aplicativos Transferir



 Topo