Table des matières
linux出现killed的原因是什么
Maison Opération et maintenance exploitation et maintenance Linux Quelle est la raison pour laquelle Linux semble mort ?

Quelle est la raison pour laquelle Linux semble mort ?

Jul 12, 2022 am 10:52 AM
linux

在linux中,出现killed的原因是系统资源不足或内存不足;当系统资源不足时,Linux内核也可以决定终止一个或多个进程,内存不足时会在系统的物理内存耗尽时触发killed,可以利用“dmesg | tail -7”命令来查看killed日志。

Quelle est la raison pour laquelle Linux semble mort ?

本教程操作环境:linux7.3系统、Dell G3电脑。

linux出现killed的原因是什么

触发Killed常见原因

当系统资源不足时,Linux 内核也可以决定终止一个或多个进程。 一个非常常见的例子是内存不足 (OOM) killer,会在系统的物理内存耗尽时触发。

当内存不足时,内核会将相关信息记录到内核日志缓冲区中,该缓冲区可通过 /dev/kmsg 获得。

有几个工具/脚本/命令 可以更轻松地从该虚拟设备读取数据,其中最常见的是 dmesg 和 journalctl。

查看Killed日志

使用sudo dmesg | tail -7命令(任意目录下,不需要进入log目录,这应该是最简单的一种)

Quelle est la raison pour laquelle Linux semble mort ?

可以看到:

oom-kill之后,就是解释那个被killed的程序的pid和uid

Out of memory: Killed process 1138439 (python3) total-vm:8117956kB, anon-rss:5649844kB,内存不够

total_vm:总共使用的虚拟内存 Virtual memory use (in 4 kB pages)

8117956/1024(得到MB)/1024(得到GB)=7.741GB

rss:常驻内存使用Resident memory use (in 4 kB pages)

5649844/1024/1024=5.388GB

扩展知识

使用下面的这几行命令

journalctl --list-boots |
awk ‘{ print $1 }’ |
xargs -I{} journalctl --utc --no-pager -b {} -kqg ‘killed process’ -o verbose --output-fields=MESSAGE
Copier après la connexion

就可以直接得到,最关键的信息

hs@hs:~$ journalctl --list-boots | \
>     awk '{ print $1 }' | \
>     xargs -I{} journalctl --utc --no-pager -b {} -kqg 'killed process' -o verbose --output-fields=MESSAGE
Mon 2022-02-14 08:48:43.684987 UTC [s=ed0a1ecfd36e41bda458e5e111c46e95;i=d4573;b=7bc379f894944dcd81ae32ff54afa009;m=456b0ad36d2;t=5d7f67bdee47b;x=5bfe01f8e2ca9b2c]
    MESSAGE=Out of memory: Killed process 1125888 (python3) total-vm:8530488kB, anon-rss:5653404kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:12552kB oom_score_adj:0
Mon 2022-02-14 09:29:43.854158 UTC [s=ed0a1ecfd36e41bda458e5e111c46e95;i=d4785;b=7bc379f894944dcd81ae32ff54afa009;m=45743506aa5;t=5d7f70e82184e;x=9b55cfb2e7c081e7]
    MESSAGE=Out of memory: Killed process 1138439 (python3) total-vm:8117956kB, anon-rss:5649844kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:12544kB oom_score_adj:0
Copier après la connexion

网上更常见的似乎是:

journalctl -xb | egrep -i 'killed process’
hs@hs:~$ journalctl -xb | egrep -i 'killed process'
Feb 14 08:48:43 hs kernel: Out of memory: Killed process 1125888 (python3) total-vm:8530488kB, anon-rss:5653404kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:12552kB oom_score_adj:0
Feb 14 09:29:43 hs kernel: Out of memory: Killed process 1138439 (python3) total-vm:8117956kB, anon-rss:5649844kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:12544kB oom_score_adj:0
Feb 15 03:42:08 hs sudo[1151639]:       hs : TTY=pts/0 ; PWD=/home/hs ; USER=root ; COMMAND=/usr/bin/egrep -i -r killed process /var/log
Copier après la connexion

以及

sudo dmesg | egrep -i -B100 'killed process'
# 但是这个会输出非常多的信息。。。
Copier après la connexion

其中-B100,表示 'killed process’之前的100行内容

推荐学习:Linux视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Dead Rails - Comment apprivoiser les loups
4 Il y a quelques semaines By DDD
<🎜>: Grow A Garden - Guide de mutation complet
2 Il y a quelques semaines By DDD
Niveaux de force pour chaque ennemi et monstre de R.E.P.O.
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1659
14
Tutoriel PHP
1258
29
Tutoriel C#
1232
24
Architecture Linux: dévoiler les 5 composants de base Architecture Linux: dévoiler les 5 composants de base Apr 20, 2025 am 12:04 AM

Les cinq composants de base du système Linux sont: 1. Kernel, 2. Bibliothèque système, 3. Utilitaires système, 4. Interface utilisateur graphique, 5. Applications. Le noyau gère les ressources matérielles, la bibliothèque système fournit des fonctions précompilées, les utilitaires système sont utilisés pour la gestion du système, l'interaction GUI fournit une interaction visuelle et les applications utilisent ces composants pour implémenter des fonctions.

Tutoriel d'utilisation des terminaux VScode Tutoriel d'utilisation des terminaux VScode Apr 15, 2025 pm 10:09 PM

Le terminal intégré VScode est un outil de développement qui permet d'exécuter des commandes et des scripts au sein de l'éditeur pour simplifier le processus de développement. Comment utiliser la borne VScode: ouvrez le terminal avec la touche de raccourci (CTRL / CMD). Entrez une commande ou exécutez le script. Utilisez des raccourcis clavier (tels que Ctrl L pour effacer le terminal). Modifiez le répertoire de travail (comme la commande CD). Les fonctionnalités avancées incluent le mode de débogage, l'achèvement de l'extrait de code automatique et l'historique des commandes interactives.

Comment vérifier l'adresse de l'entrepôt de Git Comment vérifier l'adresse de l'entrepôt de Git Apr 17, 2025 pm 01:54 PM

Pour afficher l'adresse du référentiel GIT, effectuez les étapes suivantes: 1. Ouvrez la ligne de commande et accédez au répertoire du référentiel; 2. Exécutez la commande "git Remote -v"; 3. Affichez le nom du référentiel dans la sortie et son adresse correspondante.

Où écrire du code dans vscode Où écrire du code dans vscode Apr 15, 2025 pm 09:54 PM

L'écriture de code dans Visual Studio Code (VSCODE) est simple et facile à utiliser. Installez simplement VScode, créez un projet, sélectionnez une langue, créez un fichier, écrivez du code, enregistrez-le et exécutez-le. Les avantages de VSCOD incluent la plate-forme multiplateuse, gratuite et open source, des fonctionnalités puissantes, des extensions riches et des poids légers et rapides.

La commande de terminal vscode ne peut pas être utilisée La commande de terminal vscode ne peut pas être utilisée Apr 15, 2025 pm 10:03 PM

Causes et solutions pour les commandes de borne de code vs non disponibles: les outils nécessaires ne sont pas installés (Windows: WSL; macOS: outils de ligne de commande xcode) Les problèmes de l'autorisation sont mauvais (ajouter des fichiers exécutables aux variables du chemin d'accès) La configuration du terminal corrompu (réinstaller ou mettre à jour) est incompatible (essayez différents types de terminaux ou commandes) des variables d'environnement spécifiques sont manquantes (définir les variables d'environnement nécessaires)

VSCODE Précédent la touche de raccourci suivante VSCODE Précédent la touche de raccourci suivante Apr 15, 2025 pm 10:51 PM

VS CODE Utilisation de la clé de raccourci en une étape / prochaine: une étape (arrière): Windows / Linux: Ctrl ←; macOS: cmd ← Étape suivante (vers l'avant): Windows / Linux: Ctrl →; macOS: CMD →

Comment exécuter sublime après avoir écrit le code Comment exécuter sublime après avoir écrit le code Apr 16, 2025 am 08:51 AM

Il existe six façons d'exécuter du code en sublime: via les raccourcis clavier, les menus, les systèmes de construction, les lignes de commande, définir des systèmes de construction par défaut et les commandes de construction personnalisées et exécuter des fichiers / projets individuels en cliquant avec le bouton droit sur des projets / fichiers. La disponibilité du système de construction dépend de l'installation du texte sublime.

Comment exécuter le code Java dans le bloc-notes Comment exécuter le code Java dans le bloc-notes Apr 16, 2025 pm 07:39 PM

Bien que le bloc-notes ne puisse pas exécuter directement le code Java, il peut être réalisé en utilisant d'autres outils: à l'aide du compilateur de ligne de commande (Javac) pour générer un fichier bytecode (filename.class). Utilisez l'interpréteur Java (Java) pour interpréter ByteCode, exécuter le code et sortir le résultat.

See all articles