Bash-Linux.com : Le SHELL pour les nuls

  Actuellement 46 lignes de commande disponibles
login as: root
root@213.186.33.18's password:
Last login: Sun Aug 1 7:51:26 2010 from 38.107.191.100
[root@bash-linux ~] # echo "Bienvenue sur Bash-Linux.com"_
 Manuel des commandes UNIX (man) Version française

Indiquez la fonction :

Man Sched_setaffinity en français

SCHED_SETAFFINITY(2) Manuel du programmeur Linux SCHED_SETAFFINITY(2)
 
NOM


sched_setaffinity, sched_getaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO - Definir et obtenir le masque d'affinite CPU d'un processus.
 
SYNOPSIS


#include int sched_setaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask); int sched_getaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask); void CPU_CLR(int cpu, cpu_set_t *set); int CPU_ISSET(int cpu, cpu_set_t *set); void CPU_SET(int cpu, cpu_set_t *set); void CPU_ZERO(cpu_set_t *set);
 
DESCRIPTION


Le masque d'affinite CPU d'un processus determine l'ensemble des CPU sur lesquelles il peut s'executer. Sur un systeme multiprocesseurs, fixer le masque d'affinite CPU permet d'ameliorer les performances. Par exemple, en dediant une CPU a un processus particulier (c'est-a- dire en fixant le masque d'affinite de ce processus pour specifier une seule CPU et en fixant le masque d'affinite de tous les autres proces- sus pour exclure cette CPU), il est possible d'assurrer une vitesse d'execution maximum pour ce processus. Restreindre l'execution d'un processus sur une seule CPU previent egalement du cot de performance provoque par l'invalidation de cache qui survient lorsqu'un processus cesse son execution sur une CPU et la recommence sur une autre CPU. Un masque d'affinite CPU est represente par la structure cpu_set_t, un ensemble de CPU , pointee par mask. Quatre macros sont fournies pour manipuler les ensembles de CPU. CPU_ZERO() efface un ensemble. CPU_SET() et CPU_CLR() ajoute et retire, respectivement, la CPU indiquee d'un ensemble. CPU_ISSET() teste si la CPU fait partie d'un ensemble ; cela est utile apres le retour de sched_getaffinity(). La premiere CPU disponible sur le systeme correspond a une valeur cpu de 0, la CPU suivante correspond a une valeur cpu de 1, et ainsi de suite. La constante CPU_SETSIZE (1024) specifie une valeur plus grande de un que le nombre maximum de CPU qui peuvent appartenir a un ensemble de CPU. sched_setaffinity() fixe le masque d'affinite du processus dont l'ID est pid a la valeur specifiee dans mask. Si pid vaut zero, il s'agit du processus appelant. L'argument cpusetsize est la longueur (en octet) de la donnee pointee par mask. Normalement, cet argument devrait etre specifie comme sizeof(cpu_set_t). Si le processus specifie par pid n'est actuellement pas en cours d'exe- cution sur l'une des CPU specifiees dans mask, le processus est deplace sur l'une des CPU specifiees dans mask. sched_getaffinity() ecrit le masque d'affinite du processus dont l'ID est pid dans la structure cpu_set_t pointee par mask. L'argument cpusetsize specifie la taille (en octet) de mask. Si pid vaut zero, le masque du processus en cours est renvoye.
 
VALEUR RENVOYEE


S'ils reussissent, sched_setaffinity() et sched_getaffinity() renvoient 0. S'ils echouent, ils renvoient -1 et errno sera rempli avec le code d'erreur.
 
ERREURS


EFAULT Une adresse memoire est invalide. EINVAL Le masque mask des preferences ne contient pas de processeurs presents sur le systeme, ou cpusetsize est plus petit que la taille du masque d'affinite utilise par le noyau. EPERM Le processus appelant n'a pas les privileges appropries. Le pro- cessus qui invoque sched_setaffinity() doit avoir un UID effec- tif egal a l'UID effectif ou reel du processus identifie par pid, ou avoir la capacite CAP_SYS_NICE. ESRCH Impossible de trouver le processus du pid indique.
 
CONFORMITE


Ces appels systemes sont specifiques a Linux.
 
NOTES


Le masque d'affinite est actuellement un attribut par thread qui peut etre ajuste de maniere independante pour chacun des threads d'un groupe de threads. La valeur renvoyee par un appel a gettid(2) peut etre passee a l'argument pid. Un fils cree avec fork(2) herite du masque d'affinite CPU de son pere. Le masque d'affinite est preserve a travers un execve(2). Cette page de manuel decrit l'interface glibc pour les appels d'affi- nite CPU. L'interface actuelle d'appels systeme est legerement differ- ente avec le mask ayant pour type unsigned long *, refletant le fait que l'implementation sous-jacente des ensembles de CPU est un simple masque de bits. S'il reussit, l'appel systeme brut sched_getaffinity() renvoie la taille (en octets) du type de donnee system call returns the size (in bytes) of the cpumask_t qui est utilise en interne par le noyau pour representer le masque de bits de l'ensemble CPU.
 
HISTORIQUE


Les appels systeme d'affinite CPU ont ete introduits dans le noyau Linux 2.5.8. Les appels bibliotheque ont ete introduits dans glibc 2.3. Initialement, les interfaces glibc incluaient un argument cpusetsize. Cet argument a ete retire dans la glibc 2.3.2 mais reintroduit dans la glibc 2.3.4.
 
VOIR AUSSI


clone(2), getpriority(2), gettid(2), nice(2), sched_get_prior- ity_max(2), sched_get_priority_min(2), sched_getscheduler(2), sched_setscheduler(2), setpriority(2), capabilities(7) sched_setscheduler(2) decrit le fonctionnement de l'ordonnancement sous Linux.
 
TRADUCTION


Ce document est une traduction realisee par Christophe Blaess le 18 juillet 2003 et revisee le 7 decembre 2006. L'equipe de traduction a fait le maximum pour realiser une adaptation francaise de qualite. La version anglaise la plus a jour de ce document est toujours consultable via la commande : LANG=C man 2 sched_setaffinity . N'hesitez pas a signaler a l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. LDP 3 fevrier 2006 SCHED_SETAFFINITY(2)


 Dernières recherches
Man  en anglais Man sched_setaffinity en anglaisMan  en français Man sched_setaffinity en français
Man  en anglais Man ls en anglaisMan  en français Man ls en français
Man  en anglais Man fifo en anglaisMan  en français Man fifo en français
Man  en anglais Man chroot en anglaisMan  en français Man chroot en français
Man  en anglais Man timezone en anglaisMan  en français Man timezone en français
Man  en anglais Man sched_setparam en anglaisMan  en français Man sched_setparam en français
Man  en anglais Man srand en anglaisMan  en français Man srand en français
Man  en anglais Man mknod en anglaisMan  en français Man mknod en français
Man  en anglais Man aio_read en anglaisMan  en français Man aio_read en français
Man  en anglais Man pthreads en anglaisMan  en français Man pthreads en français
Man  en anglais Man sigprocmask en anglaisMan  en français Man sigprocmask en français
Man  en anglais Man mlock en anglaisMan  en français Man mlock en français
Man  en anglais Man standards en anglaisMan  en français Man standards en français
Man  en anglais Man clearenv en anglaisMan  en français Man clearenv en français
Man  en anglais Man catan en anglaisMan  en français Man catan en français

 Recherche

Dans ce moteur de recherche, vous pouvez taper directement votre besoin, en une phrase normale, humaine.
Exemple : vous cherchez comment remplacer un mot par un autre dans tous les fichiers d'un certain dossier. Vous pouvez écrire "Comment remplacer un mot par un autre dans tous les fichiers d'un dossier". Le moteur vous ramenera les résultats en fonction de leur pertinence.
Vous pouvez bien sûr ne chercher qu'un seul mot-clé, par exemple "find".
 Toutes les lignes de code
Par popularité
Par fonction
Recherche avancée
 Les logiciels SHELL/SSH
Putty
Astuces Bash
Faire du SHELL avec PHP!
 La doc officielle
Les man Linux en français
Les man Linux en anglais
 Proposer vos bash
Partagez vos lignes!
 Les requêtes
Déposer une requête
Voir/répondre à une requête
 Quelques sites interessants
Bons sites pour apprendre
 Rechercher