Dépannage de connexion
Consultez les informations suivantes pour résoudre les problèmes de connexion à l'instance Oracle Linux sur Oracle Cloud Infrastructure.
Échec de la connexion à une instance Oracle Linux avec une erreur "fourche : réessayer : ressource temporairement indisponible"
L'erreur fourchette a échoué : Ressource temporairement indisponible sur Oracle Linux indique souvent que le système ne peut pas créer de nouveaux processus en raison de limites de ressources telles qu'une table de processus complète, une mémoire insuffisante ou l'atteinte des limites de l'utilisateur ou du système.
Causes potentielles
- Limites de ressources d'utilisateur ou de système atteintes
- Un utilisateur peut avoir une limite sur le nombre de processus qu'il peut créer ou le nombre de fichiers ouverts qu'il peut avoir. Le système peut également être incapable de créer de nouveaux processus, car il manque des ressources ou a atteint son nombre maximal de processus.
- Mémoire système insuffisante ou espace de permutation
- Il se peut que le système ne dispose pas de suffisamment de mémoire ou d'espace de permutation pour les nouveaux processus.
- Un service ou un processus inapproprié
- Un processus ou un service bloqué peut consommer trop de ressources, ce qui empêche le démarrage de nouveaux processus.
- Trop de descripteurs de fichier sont ouverts
- Il est possible que le système ne puisse pas ouvrir de nouveaux fichiers car il a atteint son nombre maximal de descripteurs de fichier ouverts.
- Configuration incorrecte ou erreur dans le fichier
/etc/security/limits.conf - Si le fichier
limits.confn'est pas configuré correctement, des valeurs plus grandes peuvent ne pas être appliquées et un compte d'utilisateur peut atteindre une limite par défaut déclenchant l'erreur.
Dépannage
- Surveiller l'utilisation des ressources et identifier et arrêter les processus inutiles pour libérer de la mémoire et échanger de l'espace
- Utilisez
topouvmstatpour identifier les processus qui consomment beaucoup d'UC ou de mémoire, par exemple :$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 12607316 4336 2737552 0 0 109 302 182 267 3 1 96 0 0 $ top top - 16:04:04 up 1:07, 2 users, load average: 0.01, 0.13, 0.10 Tasks: 180 total, 1 running, 179 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.2 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 15700.7 total, 12305.2 free, 717.2 used, 2678.4 buff/cache MiB Swap: 4096.0 total, 4096.0 free, 0.0 used. 14673.0 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 12331 opc 20 0 54424 5040 4252 R 0.7 0.0 0:00.07 top 11972 root 30 10 2095708 292468 123100 S 0.3 1.8 0:05.65 wlp-agen+ ... - Utilisez
ps auxpour lister tous les processus et leur utilisation des ressources, par exemple :$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.1 179460 17548 ? Ss 14:56 0:04 /usr/lib/syste root 2 0.0 0.0 0 0 ? S 14:56 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 14:56 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 14:56 0:00 [rcu_par_gp] ... - Arrêtez les processus qui ne sont plus nécessaires ou qui causent des problèmes à l'aide de
kill <PID>oukill -9 <PID>, par exemple :[opc@<oracle-linux-instance-name> ~]$ kill -9 12346
- Utilisez
- Vérifier et ajuster les limites de ressources d'utilisateur
- Utilisez
ulimit -apour vérifier les limites d'utilisateur courantes, par exemple :$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 62425 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 ... - Utilisez
ulimitpour augmenter temporairement une limite. Par exemple, pour augmenter temporairement le nombre de fichiers ouverts qu'un utilisateur peut avoir, utilisezulimit -n <number>:$ ulimit -n 2096 $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 62425 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 2096 ... - Vérifiez que le formatage du fichier
/etc/security/limits.confest correct, qu'il n'y a pas d'erreur de saisie et que les valeurs définies pour un compte d'utilisateur sont celles attendues. Si le fichier contient des paramètres de configuration non valides, le système peut ne pas appliquer de valeurs plus grandes et un compte d'utilisateur peut atteindre une limite par défaut déclenchant l'erreur.Par exemple, l'entrée suivante dans le fichier
/etc/security/limits.confpermet de définir le nombre maximal de processus pour un seul utilisateur ou pour tous les utilisateurs :#<domain> <type> <item> <value> * hard nproc 2048 oracle hard nproc 65356 root hard nproc unlimitedNote
Le fichierlimits.confpeut être utilisé pour définir des limites d'utilisateur personnalisées pour différentes ressources système au lieu d'utiliser les limites par défaut du système. Voir la page de manuellimits.conf(5)pour plus de détails.
- Utilisez
- Augmenter les limites du système
- Modifiez
/etc/sysctl.confpour augmenter les limites à l'échelle du système. Par exemple, pour définir le nombre maximal de fichiers ouverts :fs.file-max = 204708 - Redémarrez le système pour que les modifications prennent effet.
- Modifiez
- Vérifier les problèmes de mémoire
- Utilisez
free -hpour vérifier l'utilisation courante de la mémoire et permuter l'espace, par exemple :$ free -h total used free shared buff/cache available Mem: 15Gi 727Mi 11Gi 16Mi 2.8Gi 14Gi Swap: 4.0Gi 0B 4.0Gi - Si la mémoire est faible, envisagez d'augmenter l'espace de swap ou de mettre à niveau la mémoire vive.
- Utilisez