Grundkenntnisse des Linux-Betriebssystems: 1. Das Betriebssystem unterscheidet zwischen physischem Speicher und virtuellem Speicher. 2. Verstehen Sie die Beziehung zwischen Speicher und Festplatte. 3. Häufige Schwachstellen in verschiedenen Teilen, z. B. bei Mailservern und dynamischen Webservern sind anfällig für CPU-Engpässe. Server 4. Beherrschen Sie einige Optimierungen von Linux selbst.
Grundkenntnisse des Linux-Betriebssystems:
1. Allgemeine Einführung in das Betriebssystem
•CPU: Genau wie das menschliche Gehirn ist es hauptsächlich für die Beurteilung verwandter Dinge verantwortlich der eigentliche Verarbeitungsmechanismus.
Abfragebefehl: cat /proc/cpuinfo
•Speicher: Der Speicherblock im Gehirn, in dem die von Haut, Augen usw. gesammelten Informationen aufgezeichnet werden, damit die CPU Urteile fällen kann. Abfragebefehl: cat /proc/meminfo
Physischer Speicher
Physischer Speicher ist die Kapazität des Speichersticks, den wir in den Speichersteckplatz des Motherboards einsetzen. Bei der Betrachtung der Computerkonfiguration ist vor allem der physische Speicher zu beachten
Virtueller Speicher
In Windows wird die virtuelle Speichertechnologie verwendet, d Nach dem Hochfahren ruft der Computer automatisch die Festplatte auf, um als Speicher zu dienen und die Speicherspannung zu verringern.
Zusammenhang: Unter Windows können sowohl virtueller als auch physischer Speicher verwendet werden. Unter Linux wird der virtuelle Speicher nur verwendet, wenn der physische Speicher aufgebraucht ist.
•Festplatte: Der Speicherblock im Gehirn zeichnet wichtige Daten auf, sodass diese verwendet werden können Diese Daten werden in Zukunft erneut verwendet.
Abfragebefehl: fdisk -l (erfordert Root-Berechtigung)
2. Die Beziehung zwischen Speicher und Festplatte
Die spezifischen Befehle werden später vorgestellt
3. Schreiben Sie eine separate Kopie
🏜
4. So analysieren Sie das Betriebssystem
Eigentlicher Prozess: Daten lesen>Daten>Festplatte>Virtueller Speicher (swaP)>Speicher>CPU-Cache>AusführungswarteschlangeAnalyserichtung, genau das Gegenteil
5. Häufige Lücken in jedem Teil
•CPU: Einfache Mail-Server und dynamische Webserver, bei denen solche Engpässe auftreten•Speicher: Druckserver, Datenbankserver und statische Webserver, die anfällig für solche Engpässe sind•Festplatten-E/A: Projekte mit häufigem Lese- und Schreibzugriff Operationen•Netzwerkbandbreite: Häufiges Hochladen und Herunterladen von Projekten in großen Mengen
6. Einige Optimierungen von Linux selbst
1. Systeminstallationsoptimierung
Bei der Installation eines Linux-Systems werden Festplattenpartitionierung und Die SWAP-Speicherzuweisung wirkt sich direkt auf die Systemleistung aus. In Bezug auf die Einstellung des virtuellen Speichers SWAP gibt es nicht mehr die sogenannte Anforderung, dass der virtuelle Speicher doppelt so groß sein muss wie der physische Speicher. Wenn der Speicher jedoch klein ist (der physische Speicher beträgt weniger als 4 GB), ist die SWAP-Swap-Partition erforderlich Die Größe wird im Allgemeinen auf das Doppelte des Speichers eingestellt. Wenn der physische Speicher etwa 4 GB und weniger als 16 GB beträgt, können Sie die SWAP-Größe im Prinzip auf den gleichen oder etwas kleineren Wert als den physischen Speicher einstellen kann SWAP auf 0 setzen, aber es ist am besten, eine bestimmte Größe von SWAP festzulegen• 2. Optimierung der Kernel-ParameterWenn das System beispielsweise eine Oracle-Datenbankanwendung bereitstellt, müssen Sie das gemeinsam genutzte Speichersegment des Systems konfigurieren ( kernel.shmmax, kenerl.shmmni, kernel.shmall), Systemsemaphor (kernel.sem) und Dateihandle (fs .file0max) und andere Parameter; wenn eine WEB-Anwendung bereitgestellt wird, müssen die Netzwerkparameter entsprechend optimiert werden B. das Ändern von net.ipv4.ip_local_port_range, net.ipv4.tc_tw_reuse, net.core.somaxconn und anderen Netzwerken
Kernel-Parameter• 3. Dateisystemoptimierung
Die optionalen Dateisysteme unter Linux sind ext2, ext3, xfs, ReiserFS
Das Linux-Standarddateisystem beginnt mit VFS, dann ist ext, ext2, ext2 unter Linux. Das Standarddateisystem ext3 wird durch Hinzufügen von Protokollen auf der Basis von ext2 gebildet. Von VFS bis ext3 haben sich die Designideen nicht wesentlich geändert. Sie basieren alle auf den Superblock- und Inode-Designkonzepten der frühen UNIX-Familie. Das XFS-Dateisystem ist ein von SGI entwickeltes fortschrittliches Protokolldateisystem. Es bietet Zugriff auf Dateisystemdaten mit geringer Latenz, indem es Festplattenanforderungen verteilt, Daten lokalisiert und die Cache-Konsistenz aufrechterhält , mit hervorragenden Protokollierungsfunktionen, starker Skalierbarkeit und schnellem Schreiben. ReiserFS ist ein leistungsstarkes Protokolldateisystem, das unter der Leitung von Hans Reiser entwickelt wurde. Es verwaltet Daten über einen vollständig ausgewogenen Baum, einschließlich Dateidaten, Dateinamen, Protokollunterstützung usw. Im Vergleich zu ext2 und ext3 besteht der größte Vorteil darin, dass die Zugriffsleistung und -sicherheit erheblich verbessert werden. Es bietet die Vorteile einer effizienten und angemessenen Nutzung des Speicherplatzes, eines erstklassigen Protokollverwaltungsmechanismus, einer speziellen Suchmethode, eines riesigen Festplattenspeichers usw (1). Wie überprüfen Sie den physischen Speicher und den virtuellen Speicher?
Top-Befehl kann die Werte des physischen Speichers und des virtuellen Speichers anzeigen
(2).BufferEs handelt sich um einen Speicherchip auf dem Festplattencontroller, der eine extrem schnelle Zugriffsgeschwindigkeit hat. Er ist ein Puffer zwischen dem internen Speicher der Festplatte und der externen Schnittstelle. Da sich die interne Datenübertragungsgeschwindigkeit der Festplatte von der Übertragungsgeschwindigkeit der externen Schnittstelle unterscheidet, spielt der Cache eine Pufferfunktion. Die Größe und Geschwindigkeit des Caches sind wichtige Faktoren, die direkt mit der Übertragungsgeschwindigkeit der Festplatte zusammenhängen und die Gesamtleistung der Festplatte erheblich verbessern können.
(3).Cache
Cache-Speicher ist ein temporärer Speicher, der sich zwischen der CPU und dem Speicher befindet. Seine Kapazität ist viel kleiner als die des Speichers, aber die Austauschgeschwindigkeit ist viel schneller als die des Speichers. Das Aufkommen des Caches dient hauptsächlich dazu, den Widerspruch zwischen der CPU-Betriebsgeschwindigkeit und der Lese- und Schreibgeschwindigkeit des Speichers zu lösen. Da die CPU-Betriebsgeschwindigkeit viel schneller ist als die Lese- und Schreibgeschwindigkeit des Speichers, muss die CPU lange warten damit Daten ankommen oder Daten in den Speicher schreiben. Die Daten im Cache stellen einen kleinen Teil des Speichers dar, aber auf diesen kleinen Teil wird die CPU in kurzer Zeit zugreifen. Wenn die CPU eine große Datenmenge aufruft, kann sie den Speicher umgehen und aufrufen direkt aus dem Cache, wodurch die Lesegeschwindigkeit beschleunigt wird.
(4) Interrupt-Antwortsignal, wenn die Antwort erfüllt ist, und gleichzeitig den Interrupt ausschalten, was darauf hinweist, dass die CPU keine Interrupts mehr von einem anderen Gerät akzeptiert. Zu diesem Zeitpunkt findet die CPU heraus, welches Gerät die Quelle der Interrupt-Anforderung ist, und speichert den Inhalt des CPU-eigenen Programmzählers (PC). Anschließend wechselt er zur Interrupt-Serviceroutine, die diese Interrupt-Quelle verwaltet. Nachdem die CPU die Informationen vor Ort gespeichert und Gerätedienste (z. B. Datenaustausch) ausgeführt hat, stellt sie die Informationen vor Ort wieder her. Öffnen Sie nach Abschluss dieser Aktionen den Interrupt und kehren Sie zur nächsten Anweisung des ursprünglich unterbrochenen Hauptprogramms zurück.
(5). Kontextwechsel
Kontextwechsel oder Umgebungswechsel
In einem Multitasking-System bezieht sich der Kontextwechsel auf das Ereignis, das auftritt, wenn die Steuerung der CPU von einer laufenden Aufgabe auf eine andere bereite Aufgabe übertragen wird . Wenn die CPU im Betriebssystem zu einem anderen Prozess wechselt, ist es notwendig, den Status des aktuellen Prozesses zu speichern und den Status des anderen Prozesses wiederherzustellen: Die aktuell laufende Aufgabe wechselt in den Status „Bereit“ (oder angehalten, gelöscht). , und eine andere ausgewählte bereite Aufgabe wird zur aktuellen Aufgabe. Der Kontextwechsel umfasst das Speichern der Ausführungsumgebung der aktuellen Aufgabe und das Wiederherstellen der Ausführungsumgebung der auszuführenden Aufgabe. Der Prozesskontext wird durch den PCB (Process Control Block, auch PCB, Task Control Block genannt) des Prozesses dargestellt, der den Prozessstatus, CPU-Registerwerte usw. umfasst. Speichern Sie normalerweise den aktuellen Status der CPU, indem Sie eine Statusspeicherung durchführen, und führen Sie dann eine Statuswiederherstellung durch, um den Vorgang neu zu starten. Kontextwechsel können sich negativ auf die Leistung auswirken. Einige Kontextwechsel sind jedoch teurer als andere. Einer der teureren Kontextwechsel ist der kernübergreifende Kontextwechsel. Ein Thread kann auf einem dedizierten Prozessor oder prozessorübergreifend ausgeführt werden. Threads, die von einem einzelnen Prozessor bedient werden, verfügen über eine Prozessoraffinität (Prozessoraffinität), was effizienter ist. Das Vorbehalten und Planen von Threads auf einem anderen Prozessorkern kann aufgrund von Cache-Fehlern und übermäßigen Kontextwechseln zum Zugriff auf den lokalen Speicher zu Cache-Fehlern führen. Kurz gesagt wird dies als „Cross-Core-Kontextwechsel“ bezeichnet.6. Prozesse und Threads
Prozesskonzept
Ein Prozess ist die Grundeinheit, die die Ressourcenzuteilung darstellt und auch die Grundeinheit für die Planung und Ausführung ist. Wenn ein Benutzer beispielsweise sein eigenes Programm ausführt, erstellt das System einen Prozess und weist ihm Ressourcen zu, einschließlich verschiedener Tabellen, Speicherplatz, Festplattenspeicher, E/A-Geräte usw. Anschließend stellen Sie den Prozess in die Bereitschaftswarteschlange des Prozesses ein. Der Prozessplaner wählt ihn aus und weist ihm CPU und andere zugehörige Ressourcen zu, bevor der Prozess tatsächlich ausgeführt wird. Daher ist der Prozess die Einheit der gleichzeitigen Ausführung im System.
Thread-Konzept
Ein Thread ist die kleinste Einheit zum Ausführen von Vorgängen in einem Prozess, die auch die Grundeinheit für die Ausführung der Prozessorplanung ist. Wenn ein Prozess als eine Aufgabe verstanden wird, die vom Betriebssystem logisch erledigt wird, dann stellt ein Thread eine der vielen möglichen Unteraufgaben zur Erledigung der Aufgabe dar
Die Beziehung zwischen Prozess und Thread
(1) Ein Thread kann nur dazu gehören Ein Prozess. Ein Prozess kann zwar mehrere Threads haben, es muss jedoch mindestens ein Thread vorhanden sein. (2) Ressourcen werden Prozessen zugewiesen, und alle Threads desselben Prozesses teilen sich alle Ressourcen des Prozesses.
(3) Der Prozessor ist Threads zugeordnet, das heißt, die Threads laufen tatsächlich auf dem Prozessor. (4) Threads müssen während der Ausführung zusammenarbeiten und synchronisieren. Die Threads verschiedener Prozesse müssen die Nachrichtenkommunikation verwenden, um eine Synchronisierung zu erreichen.Verwandte Lernempfehlungen:
Linux-VideoHinweis:
1.Linux ist ein System, bei dem die Groß-/Kleinschreibung beachtet wird. Beispielsweise sind Mozilla, MOZILLA, mOzilla und mozilla vier verschiedene Befehle (aber nur der vierte Mozilla ist ein wirklich gültiger Befehl). Außerdem sind my_filE, my_file und my_FILE drei verschiedene Dateien. Auch beim Anmeldenamen und beim Geheimnis des Benutzers muss die Groß-/Kleinschreibung beachtet werden (dies liegt daran, dass bei UNIX-Systemen und der C-Sprache schon immer die Groß-/Kleinschreibung beachtet wurde).
2. Der Dateiname kann bis zu 256 Zeichen lang sein und Zahlen, Punkte „.“, Unterstriche „_“, horizontale Striche „-“ sowie andere nicht empfohlene Zeichen enthalten.
3. Dateien mit „.“ vor dem Dateinamen werden bei Eingabe des Befehls „ls“ oder „dir“ grundsätzlich nicht angezeigt. Diese Dateien können als versteckte Dateien betrachtet werden. Sie können diese Dateien natürlich auch mit dem Befehl „ls -a“ anzeigen.
4. „/“ entspricht „“ unter DOS (dem Stammverzeichnis, also dem übergeordneten Verzeichnis aller anderen Verzeichnisse, oder einem Leerzeichen zwischen Verzeichnissen und zwischen Verzeichnissen und Dateien). Beispiel: cd /usr/doc.
5. Unter Linux werden alle Verzeichnisse unter einem einzigen Verzeichnisbaum angezeigt (anders als bei der Laufwerksidentifizierung des DOS-Systems). Das bedeutet, dass alle Dateien und Verzeichnisse auf allen physischen Geräten in einem einzigen Verzeichnisbaum zusammengefasst sind.
6. In der Konfigurationsdatei sind Zeilen, die mit # beginnen, Kommentarzeilen. Versuchen Sie beim Ändern der Konfigurationsdatei, die alten Einstellungen nicht zu löschen. Sie können den ursprünglichen Einstellungen ein „#“ hinzufügen, um sie in Kommentarzeilen umzuwandeln. Fügen Sie in Zukunft immer einige Kommentare zu den Änderungen hinzu Management Profitieren Sie sehr davon.
7.Linux ist ein geerbtes Mehrbenutzer-Betriebssystem. Ihre persönlichen Einstellungen (und die anderer Benutzer) werden in Ihrem Home-Verzeichnis abgelegt (normalerweise /home/Ihr_Benutzer-Loginname). Die Dateinamen vieler Konfigurationsdateien beginnen mit „.“, sodass Benutzer diese Dateien im Allgemeinen nicht sehen können.
8. Systemweite Einstellungen werden grundsätzlich im Verzeichnis /etc abgelegt.
9. Ähnlich wie bei anderen Mehrbenutzer-Betriebssystemen haben Dateien und Verzeichnisse ihre eigenen Besitzer und Zugriffsberechtigungen. Im Allgemeinen sind Ihnen nur Dateien in Ihrem Home-Verzeichnis (/home/Ihr_Benutzer-Loginname) erlaubt. Lernen Sie einige relevante Kenntnisse über die Verwaltung von Dateiberechtigungen, sonst werden Sie Linux auf jeden Fall als sehr problematisch empfinden.
10. Befehlsparameteroptionen werden im Allgemeinen durch „-“ gefolgt von einem Zeichen (oder „--“, wenn die Option ein Zeichen überschreitet) geführt. Auf diese Weise ist „-“ ein bisschen wie „/“ unter DOS. Geben Sie beispielsweise den Befehl rm --help ein.
Verwandte Empfehlungen: Programmiervideokurse
Das obige ist der detaillierte Inhalt vonWas sind die Grundkenntnisse des Linux-Betriebssystems?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!