Je sais qu'il existe /etc/[security/]limits.conf, qui permet de le faire pour un process, mais des qu'on forke ca marche plus.
En gros existe il une limite permettant de bloquer les programme du genre:
int main()
{
while(fork()) {};
while(malloc(1024)) {};
while(1) {};
}
# Re: limiter la memoire pour un utilisateur
Posté par Caeies . Évalué à 2.
/ulimit
ulimit -u
Caeies
[^] # Re: limiter la memoire pour un utilisateur
Posté par M . Évalué à 1.
Moi ce que je voudrai c'est que tout les process d'un utilisateur ne depasse pas une certaine quantitee de memoire....
On a bien le nombre de process * la taille max par process qui donne cette valeur.
Mais par exemple si l'utilisateur doit lancer X, open office, mozilla il a besoin d'au moins 50 Mo de memoire par process.
Puis il faut quand meme un minimun de process (50) et on peut deja 250 Mo rien qu'en utilisant ces minimuns qui sont tres restrictif...
En plus dans certains cas la limitation donne des resultat douteux : segmentation fault du programme + crash de bash ensuite....
[^] # Re: limiter la memoire pour un utilisateur
Posté par M . Évalué à 1.
# [HS]
Posté par snt . Évalué à 0.
Hésite pas à m'envoyer bouler si je suis lourd.
# Re: limiter la memoire pour un utilisateur
Posté par Yann Hirou . Évalué à 2.
{
while(fork()) {};
while(malloc(1024)) {};
while(1) {};
}
y a plus court, et tout aussi efficace (testé et approuvé par de nombreux utilisateurs foutus dans la merde avec le programme suivant lancé sur un serveur sur lequel ils étaient connecté...)
int main () {
while(malloc(1024)){
fork();
}
}
[^] # Re: limiter la memoire pour un utilisateur
Posté par Olivier G. . Évalué à 1.
:(){ :[:& };:
A essayer à vos risques et périls.
[^] # Re: limiter la memoire pour un utilisateur
Posté par M . Évalué à 1.
[1] 697
mat@xxxx:~$ -bash: :[:: command not found
[1]+ Exit 127 :[:
[^] # Re: limiter la memoire pour un utilisateur
Posté par Olivier G. . Évalué à 2.
s/[/|/
Donc je la refais:
:(){ :|:& };:
Toujours à vos risques et périls...
[^] # Re: limiter la memoire pour un utilisateur
Posté par GCN (site web personnel) . Évalué à 1.
C'est juste pour ma culture perso (et je suis sûr que d'autres personnes se posent les mêmes questions que moi :p) !
[^] # Re: limiter la memoire pour un utilisateur
Posté par TImaniac (site web personnel) . Évalué à 2.
J'ai peut être faux je suis pas doué en shell mais bon la syntaxe me fait dire ca :)
[^] # Re: limiter la memoire pour un utilisateur
Posté par M . Évalué à 1.
Non car des que le pere atteind la limite maxi de memoire il meurt, ainsi que tout ses fils...
[^] # Re: limiter la memoire pour un utilisateur
Posté par Jerome Herman . Évalué à 1.
int main () {
while(fork()){
malloc(1);
}
}
1) - Les touts petits mallocs sont presque toujours accordes.
2) - C'est pas parcequ'il y a plus de memoire qu'il faudrait se priver de creer des processus.
3) - Des qu'une once de memoire devient disponible c'est pour bibi.
Bon si on est limite au niveau du nombre de process il peut etre bon d'augmenter un peu le malloc.
Reccord a battre : 1784 de load
Kha
[^] # Re: limiter la memoire pour un utilisateur
Posté par M . Évalué à 1.
int main () {
while(1){
malloc(1);
}
}
pour la charge j'ai reussit a faire du 120 sans insister...
[^] # Re: limiter la memoire pour un utilisateur
Posté par Jerome Herman . Évalué à 2.
La bonne version est
while(1){
while(fork()){
malloc(1);
}
}
Forcement sans le while(1) initial ca perd beaucoup de son interet...
Kha
[^] # Re: limiter la memoire pour un utilisateur
Posté par fabien . Évalué à 1.
while(1){
fork();
malloc(1);
}
# oupps j'ai mal recopier mon test
Posté par M . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.