L'un de mes problèmes avec Ubuntu est que, lorsque mon PC est surchargé, mon système Ubuntu se bloque et j'essaie de le faire répondre en ouvrant manuellement le lecteur de CD-ROM pour forcer une interruption et accéder au moniteur système pour fermer certaines tâches.
Sous Windows, lorsque cette situation se produit, je peux généralement y échapper en appuyant sur Ctrl+Alt+Del pour basculer dans le Gestionnaire des tâches, ce qui me sort généralement d'une situation de suspension.
Donc, je voudrais savoir: est-ce que je peux faire avec Ubuntu pour échapper à une situation suspendue (comme Ctrl+Alt+Del sous Windows)?
Mise à jour:
Selon @ Grumpy_Old_Man Demande d'informations:
Quel processeur utilisez-vous et quel âge a-t-il? Il existe un problème connu avec les premiers processeurs Ryzen, qui se bloquent sous faible charge. bugzilla.kernel.org/show_bug.cgi?id=19668
Mes informations CPU:
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping : 9
microcode : 0xca
cpu MHz : 3278.317
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art Arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping : 9
microcode : 0xca
cpu MHz : 3274.188
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art Arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping : 9
microcode : 0xca
cpu MHz : 3271.793
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art Arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping : 9
microcode : 0xca
cpu MHz : 3285.540
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art Arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
Et mes infos Ubuntu:
hostnamectl
Static hostname: so-notebook
Icon name: computer-laptop
Chassis: laptop
Machine ID: 34a2eb65afa64d60a60ed02d972e884d
Boot ID: 9ee34ad4bff84b908e8719ab83029836
Operating System: Ubuntu 18.04.3 LTS
Kernel: Linux 5.0.0-37-generic
Architecture: x86-64
Vous pouvez définir un raccourci pour ouvrir le moniteur système dans Ubuntu avec la combinaison de touches que vous aimez (dans ce cas, Ctrl+Alt+Del).
Vous pouvez définir des raccourcis personnalisés pour une combinaison de touches personnalisée dans les paramètres (à propos, ces étapes sont pour Ubuntu 18.04):
Open System Monitor
).gnome-system-monitor
).Vous pouvez essayer le raccourci en appuyant sur la combinaison de touches (Ctrl+Alt+Del) que vous avez attribué au raccourci.
L'option la moins invasive est d'utiliser Ctrl+Alt+F3 pour passer à une console.
Depuis la console, vous pouvez rechercher ce qui se passe en utilisant les outils que vous utiliseriez normalement, comme top
, htop
, free
, ou la spéléologie via le /proc
et /sysfs
systèmes de fichiers. Une fois que votre enquête a déterminé le coupable, vous pouvez envoyer tout ce dont vous avez besoin pour corriger la situation.
Par exemple. si vous avez un processus d'emballement, vous pouvez essayer de lui envoyer le signal SIGTERM
en utilisant kill -s TERM <PID>
. Si cela ne fonctionne pas, vous pouvez être plus agressif et lui envoyer le signal SIGKILL
en utilisant kill -s KILL <PID>
.
Si vous avez un serveur SSH configuré, vous pouvez également vous connecter à distance via SSH. Notez cependant que si quelque chose sur votre système se détraque, SSH peut ne pas fonctionner correctement, par exemple car il ne peut pas obtenir suffisamment de temps CPU, de mémoire ou de sockets réseau.
Si une console série est configurée, vous pouvez vous connecter via un terminal série.
Si vous ne pouvez pas accéder à une console, le noyau Linux possède une fonctionnalité appelée " Magic SysRq Clé ".
La magie SysRq La clé est un moyen d'attirer l'attention du noyau dans presque toutes les circonstances (la seule situation majeure où il ne fonctionne pas est dans une panique du noyau, ce qui est logique: le noyau est tombé en panne, il ne peut plus faire de travail).
Vous pouvez accéder aux fonctionnalités du Magic SysRq Clé en maintenant enfoncée Alt+SysRq et en tapant une série de commandes qui sont toutes des lettres simples.
Si vous n'en avez pas SysRq clé, il s'agit généralement d'un autre mode PrtScr même si elle n'est pas étiquetée. Si vous ne l'avez pas non plus, vous devrez le rechercher dans le manuel de votre clavier ou de votre ordinateur portable.
Notez que les touches sont basées sur leurs scancodes sur un clavier anglais américain QWERTY clavier. En d'autres termes, Linux ne fonctionne pas) t savoir quelle lettre est imprimée sur votre touche, elle ne se soucie que de l'emplacement de la touche sur le clavier. Si vous avez une disposition de clavier différente, vous devra utiliser les touches à la même position que si vous aviez une disposition en anglais américain QWERTY layout.
Une séquence de commandes courante est:
SIGTERM
à tous les processus à l'exception du PID 1 (init
). Cela demandera gentiment à tous les processus de s'arrêter.SIGKILL
à tous les processus à l'exception du PID 1 (init
). Cela ne demandera pas à tous les processus en cours d'exécution après l'étape précédente de se suicider immédiatement.sync
tous les systèmes de fichiers actuellement montés. Cela videra le cache de pages et bloquera le cache sur le disque.umount
tous les systèmes de fichiers actuellement montés, ou plutôt remontez tous les systèmes de fichiers montés en lecture seule.reboot
ou alternativement o: shutdown
La séquence pourrait être écrite en tant que REISUB. Un mnémonique commun à retenir est "Redémarrer même si le système est complètement cassé".
Maintenez Alt et SysRq (qui est la touche Impr écran) tout en tapant lentement REISUB vous permettra de redémarrer en toute sécurité. REISUO fera un arrêt plutôt qu'un redémarrage.
Si vous connaissez le programme qui ne répond pas, accédez à un shell TTY CTRL+ALT+F4 puis utilisez le script suivant pour tuer ce programme. Copiez le code et enregistrez-le sous exterminate.sh
dans /bin
#!/bin/bash
userName=$(whoami);
programName="$1";
main(){
pidVar=$(top -n 1 -d 1 -b | grep -i "$programName" | cut -c -6 );
kill $pidVar >& /dev/null;
echo "killed all \"$programName\" instances.";
}
if [ "$userName" == "root" ] ; then main ; else echo "run as root" ; fi;
puis rendez le script exécutable par
Sudo chmod +x /bin/exterminate.sh
et l'exécuter en tant que superutilisateur. Faites attention à l'argument que vous passez au script car vous pourriez par inadvertance causer plus de dégâts que vous ne l'auriez prévu.
par exemple. si par exemple le programme défectueux est transmission
Sudo exterminate.sh transmission
ferait l'affaire.
lorsque mon PC est surchargé, mon système Ubuntu se bloque
Pour moi, cela signifie généralement manquer de RAM et commencer à échanger massivement.
Ce qui peut aider dans cette situation, Alt+SysRq+F , qui commande au système de tuer la tâche en prenant le plus de mémoire.
Vous devrez activer le SysRq clé d'abord, comme expliqué dans cette question . Certains ordinateurs portables nécessitent également de maintenir Fn simultanément.
Appuyez sur ctrl + alt + f3 pour entrer dans TTY. De là, ce sera comme une expérience terminale complète. Tapez reboot/poweroff et appuyez sur entrée et cela devrait résoudre votre problème. Une autre solution serait d'appuyer sur ctrl + alt + f1 pour verrouiller votre utilisateur et saisir à nouveau le mot de passe pour entrer dans Ubuntu.
Vous pourrez peut-être utiliser Ctrl+Alt+Backspace pour tuer le serveur X.