


Processus système : 10 points de connaissance que le personnel d'exploitation et de maintenance doit connaître
Présentation | Dans les travaux quotidiens d'exploitation et de maintenance, lorsque nous exécutons habituellement la commande ps, nous verrons de nombreux processus « bizarres », et la plupart de ces processus sont les processus du noyau du système. De nombreux étudiants en savent très peu sur ce sujet, c'est pourquoi je vais aujourd'hui compiler pour vous un article d'introduction au processus système d'entrée de gamme, dans l'espoir d'aider tout le monde à comprendre le processus du système d'exploitation. |
Dans les travaux quotidiens d'exploitation et de maintenance, lorsque nous exécutons habituellement la commande ps, nous verrons de nombreux processus « bizarres », et la plupart de ces processus sont les processus du noyau du système. De nombreux étudiants en savent très peu sur ce sujet, c'est pourquoi je vais aujourd'hui compiler pour vous un article d'introduction au processus système d'entrée de gamme, dans l'espoir d'aider tout le monde à comprendre le processus du système d'exploitation.
Dans les travaux quotidiens d'exploitation et de maintenance, nous constatons souvent des processus système étranges qui occupent des ressources relativement élevées. Et j'entends toujours les étudiants du secteur métier demander : "Qu'est-ce que le processus xxx ? Pourquoi en a-t-on ouvert autant
?"Ces processus du noyau au niveau du système sont mis entre parenthèses et exécutent certaines fonctions auxiliaires du système (telles que l'écriture du cache sur le disque) ; les processus sans crochets sont des processus exécutés par les utilisateurs (tels que php, nginx, etc.).
Comme le montre l'image ci-dessous :
Voici 10 processus système courants pour tout le monde :
kswapd0
kjournald
pdflush
kthreadd
migration
chien de garde
événements
kblockd
aio
rpciod
Le système réveillera kswapd à intervalles réguliers pour voir si la mémoire est saturée. Sinon, il se mettra en veille. Dans kswapd, il y a deux seuils, pages_hige et pages_low lorsque le nombre de pages de mémoire libre est inférieur. que pages_low, le processus kswapd analysera la mémoire et libérera 32 pages gratuites à chaque fois jusqu'à ce que le nombre de pages gratuites atteigne pages_high.
Linux utilise kswapd pour la gestion de la mémoire virtuelle de sorte que les pages récemment consultées soient conservées en mémoire et que les pages les moins actives soient paginées sur le disque. (qu'est-ce qu'une page ?)… Linux utilise gère la mémoire en unités appelées pages. Le processus kswapd diminue régulièrement l'âge des pages non référencées… et à la fin elles sont paginées (déplacées) sur le disque
kjournaldjournal : enregistrez les modifications des métadonnées sur tous les systèmes de fichiers, le mode le plus lent.
enregistre toutes les modifications de données et de métadonnées du système de fichiers. Le plus lent des trois modes de journalisation ext3, ce mode de journalisation minimise le risque de perdre les modifications que vous avez apportées à n'importe quel fichier dans un système de fichiers ext3.
ordered : le mode par défaut enregistre uniquement les métadonnées des modifications du système de fichiers et enregistre le journal avant la modification.
enregistre uniquement les modifications apportées aux métadonnées du système de fichiers, mais vide les mises à jour des données de fichiers sur le disque avant d'apporter des modifications aux métadonnées du système de fichiers associé. Il s'agit du mode de journalisation ext3 par défaut.
.writeback : le mode le plus rapide, qui enregistre également uniquement les métadonnées modifiées et s'appuie sur le processus d'écriture standard du système de fichiers pour écrire les données sur le disque dur
enregistre uniquement les modifications apportées aux métadonnées du système de fichiers, mais s'appuie sur le processus d'écriture standard du système de fichiers pour écrire les modifications des données des fichiers sur le disque. Il s'agit du mode de journalisation ext3 le plus rapide.
. pdflushpdflush est utilisé pour synchroniser le contenu en mémoire avec le système de fichiers.
Par exemple : lorsqu'un fichier est modifié en mémoire, pdflush se charge de le réécrire sur le disque dur. Chaque fois que le nombre de pages sales en mémoire dépasse 10 %, pdflush sauvegardera ces pages sur le disque dur. Ce rapport est réglable et la valeur par défaut est de 10 via l'élément vm.dirty_background_ratio dans /etc/sysctl.conf.
kthreaddIl n'existe qu'un seul thread de ce type, et son rôle est de gérer et de planifier d'autres threads du noyau.
Il est créé lors de l'initialisation du noyau et bouclera pour exécuter une fonction appelée kthreadd. La fonction de cette fonction est d'exécuter le kthread maintenu dans la liste chaînée globale kthread_create_list. Vous pouvez appeler kthread_create pour créer un kthread, qui sera ajouté à la liste chaînée kthread_create_list. En même temps, kthread_create affaiblira kthreadd_task. Lorsque kthreadd exécute kthread, il appellera l'ancienne interface - kernel_thread exécute un thread de noyau nommé "kthread" pour exécuter le kthread créé sera supprimé de la liste chaînée kthread_create_list, et kthreadd appellera continuellement le planificateur pour abandonner le CPU. . Ce fil ne peut pas être fermé.
migrationIl existe 32 threads de noyau au total, de migration/0 à migration/31. Chaque cœur de processeur correspond à un thread de noyau de migration. Sa fonction principale est de servir de processus de migration du cœur de processeur correspondant et est utilisé pour effectuer la migration de processus. opérations. Dans le noyau La fonction est migration_thread()
Appartient au système d'équilibrage de charge du noyau 2.6. Ce processus est automatiquement chargé au démarrage du système (un pour chaque CPU), et se définit comme un processus en temps réel de SCHED_FIFO, puis vérifie s'il y a des requêtes en attente. traité dans runqueue::migration_queue. Sinon, dormez simplement dans TASK_INTERRUPTIBLE jusqu'à ce que vous vous réveilliez et vérifiez à nouveau. migration_thread() n'est qu'une interface pour les fonctions de liaison du processeur et de gestion de l'alimentation du processeur. Ce fil de discussion est une partie importante du système de planification.
chien de gardeIl y a 32 threads de noyau au total, de watchdog/0 à watchdog/31. Chaque cœur de processeur correspond à un thread de noyau de surveillance qui est utilisé pour surveiller le fonctionnement du système et redémarrer automatiquement le système en cas de panne, y compris un. module de surveillance du noyau et un programme de surveillance de l'espace utilisateur.
Sous le noyau Linux, le principe de fonctionnement de base de watchdog est le suivant : lorsque watchdog est démarré (c'est-à-dire après l'ouverture du périphérique /dev/watchdog), si /dev/watchdog n'est pas exécuté dans un certain intervalle de temps défini (1 minute ) L'opération d'écriture, le circuit de surveillance matériel ou la minuterie logicielle redémarreront le système et chaque opération d'écriture entraînera la réinitialisation de la minuterie.
événementsIl existe 32 threads de noyau de ce type au total, de events/0 à events/31, et chaque cœur de processeur correspond à un thread de noyau d'événements. Utilisé pour traiter les événements du noyau. De nombreux événements logiciels et matériels (tels que les pannes de courant, les modifications de fichiers) sont convertis en événements et distribués aux threads intéressés par les événements correspondants pour réponse.
kblockdIl y a 32 threads de noyau au total, de kblockd/0 à kblockd/31. Chaque cœur de processeur correspond à un thread de noyau kblockd. Utilisé pour gérer les périphériques de blocage du système, il active périodiquement les pilotes de périphériques de blocage dans le système. Si vous possédez un périphérique bloc, ces threads ne peuvent pas être supprimés.
aioIl y a 32 threads de noyau au total, de aio/0 à aio/31. Chaque cœur de processeur correspond à un thread de noyau aio, qui gère les E/S au nom du processus utilisateur pour prendre en charge l'AIO en mode utilisateur (E/S asynchrones). ), ne doit pas être fermé.
rpciodIl y a 32 threads de noyau au total, de rpciod/0 à rpciod/31. Chaque cœur de processeur correspond à un thread de noyau rpciod. Sa fonction principale est de servir de démon pour le service d'appel de procédure distante et est utilisé pour démarrer I/. O du service client, qui est généralement utilisé lors du démarrage du service NFS.
RésuméLe processus est un concept très important dans le système d'exploitation. Toutes les données exécutées sur le système existeront dans le type de processus. Dans le système Linux : lorsqu'un événement est déclenché, le système le définit comme un processus. Le processus est donc le seul moyen d'implémenter un programme 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les principales différences entre Centos et Ubuntu sont: l'origine (Centos provient de Red Hat, pour les entreprises; Ubuntu provient de Debian, pour les particuliers), la gestion des packages (Centos utilise Yum, se concentrant sur la stabilité; Ubuntu utilise APT, pour une fréquence de mise à jour élevée), le cycle de support (CentOS fournit 10 ans de soutien, Ubuntu fournit un large soutien de LT tutoriels et documents), utilisations (Centos est biaisé vers les serveurs, Ubuntu convient aux serveurs et aux ordinateurs de bureau), d'autres différences incluent la simplicité de l'installation (Centos est mince)

Étapes d'installation de CentOS: Téléchargez l'image ISO et Burn Bootable Media; démarrer et sélectionner la source d'installation; sélectionnez la langue et la disposition du clavier; configurer le réseau; partitionner le disque dur; définir l'horloge système; créer l'utilisateur racine; sélectionnez le progiciel; démarrer l'installation; Redémarrez et démarrez à partir du disque dur une fois l'installation terminée.

CentOS a été interrompu, les alternatives comprennent: 1. Rocky Linux (meilleure compatibilité); 2. Almalinux (compatible avec CentOS); 3. Serveur Ubuntu (configuration requise); 4. Red Hat Enterprise Linux (version commerciale, licence payante); 5. Oracle Linux (compatible avec Centos et Rhel). Lors de la migration, les considérations sont: la compatibilité, la disponibilité, le soutien, le coût et le soutien communautaire.

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Une fois CentOS arrêté, les utilisateurs peuvent prendre les mesures suivantes pour y faire face: sélectionnez une distribution compatible: comme Almalinux, Rocky Linux et CentOS Stream. Migrez vers les distributions commerciales: telles que Red Hat Enterprise Linux, Oracle Linux. Passez à Centos 9 Stream: Rolling Distribution, fournissant les dernières technologies. Sélectionnez d'autres distributions Linux: comme Ubuntu, Debian. Évaluez d'autres options telles que les conteneurs, les machines virtuelles ou les plates-formes cloud.

Dépannage des étapes pour la construction d'image Docker échouée: cochez la syntaxe Dockerfile et la version de dépendance. Vérifiez si le contexte de construction contient le code source et les dépendances requis. Affichez le journal de construction pour les détails d'erreur. Utilisez l'option - cibler pour créer une phase hiérarchique pour identifier les points de défaillance. Assurez-vous d'utiliser la dernière version de Docker Engine. Créez l'image avec --t [Image-Name]: Debug Mode pour déboguer le problème. Vérifiez l'espace disque et assurez-vous qu'il est suffisant. Désactivez SELINUX pour éviter les interférences avec le processus de construction. Demandez de l'aide aux plateformes communautaires, fournissez Dockerfiles et créez des descriptions de journaux pour des suggestions plus spécifiques.

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus
