NashTech verbessert die Speicherverwaltung mit einem auf Rust basierenden Systemüberwachungsprogramm
Einführung
NashTech konzipierte Procespy, ein Prozessüberwachungswerkzeug für Linux-Distributionen, das es dem Benutzer ermöglicht, den Prozess der Verfolgung der laufenden Prozesse zu automatisieren und deren RAM-Nutzung zu überwachen.
Systemadministratoren müssen sich häufig mit Situationen auseinandersetzen, in denen Anwendungen träge sind und nicht reagieren, sei es aufgrund einer hohen CPU-, Speicher- oder Netzwerkauslastung. Es ist einfach, Ressourcen zu verwalten, wenn ein Server einen einzelnen Prozess hostet. Dies ist jedoch nicht der Fall, wenn mehrere Dienste auf einem gemeinsam genutzten Server laufen und man verfolgen muss, wie viele Ressourcen von jedem laufenden Prozess verbraucht werden.
Auswirkungen
- Tieferer Einblick in die Systemleistung
- Überwachung von KPIs wie CPU- und Speichernutzung
- Automatisierte Speicherverwaltung oder laufende Prozesse
Herausforderungen
Was hat uns dazu inspiriert, ein Systemüberwachungstool zu entwickeln?
NashTech war der Meinung, dass ein effizientes und schnelles Tool zur Anwendungsüberwachung benötigt wird, um die die Leistung von Prozessen in einem System im Hinblick auf die Speichernutzung zu verwalten. Die Idee war, Entwicklern dabei zu helfen, sicherzustellen, dass kein kritischer Prozess auf ihrem System durch die übermäßige Nutzung von Speicher durch einen anderen Prozess behindert wird.
Wir wollten ein Echtzeit-Tool entwickeln, das den Zustand des Systems regelmäßig überwacht und etwaige Konflikte im Zusammenhang mit der Speichernutzung durch die laufenden Prozesse auflöst. Durch die Automatisierung dieses Prozesses müssen sich die Entwickler nicht mehr darum kümmern, dass Prozesse mit hoher Priorität unterbrochen werden oder dass der Speicher manuell verwaltet wird, um dies zu verhindern.
Um diese Herausforderungen zu bewältigen, haben wir Procespy entwickelt, ein Prozessüberwachungs-Tool für Linux-Distributionen, das es dem Benutzer ermöglicht, den Prozess der Verfolgung der laufenden Prozesse zu automatisieren und deren RAM-Nutzung zu überwachen.
Die größte Herausforderung, der wir uns bei der Entwicklung dieses Tools gegenüber sahen, war das Abrufen von Informationen über alle möglichen Anwendungen und Prozesse, die auf einem System laufen, und die Menge an Speicher, die sie zur erfolgreichen Ausführung benötigen.
Der Hauptzweck eines Systemüberwachungsprogramms besteht darin, die IT-Infrastruktur eines Unternehmens zu verwalten:
- Überwachung der Leistung von Betriebssystemen
- Effiziente Verwaltung der Systemressourcen
- Hilfe bei der Prozess- und Systemfehlersuche
- Überwachung von Geräten wie Servern, Speichergeräten, Desktop-Computern, Druckern und mobilen Geräten.
Lösung
Wie löst Procespy das Problem?
Vordefinierte Konfigurationen für jeden Prozess
Procespy war in der Lage, die Speichernutzung aller Anwendungen und Prozesse zu verwalten, da wir für jeden von ihnen Konfigurationen in Bezug auf die Prozessnamen und die maximale Menge an Speicher, die ihnen zu einem bestimmten Zeitpunkt zugewiesen werden kann, definiert haben.
Abbruch von Prozessen, die den Schwellenwert überschreiten
Wenn ein Prozess den ihm zugewiesenen Schwellenwert überschreitet, was einfach bedeutet, dass er mehr Speicher verbraucht, als für ihn erlaubt ist, wird dieser Prozess beendet, um den Konflikt zu lösen.
Alarme und Benachrichtigungen
Der Benutzer wird durch eine Popup-Warnung auf dem Bildschirm mit einer Meldung über den abgebrochenen Prozess benachrichtigt. Procespy generiert außerdem automatisch eine E-Mail, die den Benutzer über den Status des beendeten Dienstes informiert.
Planmäßige Überprüfung des Systems
Procespy plant sich selbst so ein, dass es nach einem bestimmten Zeitintervall eine Systemprüfung durchführt, um den Status der laufenden Prozesse in Echtzeit zu überwachen.
Technische Lösung
- Bei der Entwicklung von Procespy mussten wir zunächst die Konfigurationsdatei erstellen , in der die Namen aller Prozesse und die Obergrenze für den Speicherplatz, den jeder dieser Prozesse verwenden darf, aufgeführt sind. Procespy holt sich die relevanten Prozessnamen und den Speicherbedarf aus dieser Konfigurationsdatei, nachdem es die derzeit auf dem System laufenden Anwendungen überwacht hat. Nachdem das Tool diese laufenden Prozesse überprüft hat, werden die Prozesse, die ihre Speichergrenzen überschreiten, beendet, bevor eine Warnung ausgegeben wird.
- Um die Herausforderung zu meistern, die Prozessnamen und die Details der Speichernutzung abzurufen, verwendeten unsere Entwickler den Linux-basierten Bash-Befehl “ps” (process status). Der ps-Befehl wird verwendet, wenn der Benutzer Informationen über die derzeit laufenden Prozesse benötigt, einschließlich ihrer eindeutigen Prozessidentifikationsnummern (PIDs).
- Der Bash-Befehl wurde von Filtern begleitet , um die PID, den Prozessnamen und den Speicherverbrauch zu extrahieren und später alle Prozesse nach dem Speicherbedarf in absteigender Reihenfolge zu sortieren .
- Wir haben uns für die Programmiersprache Rust entschieden, da Überwachungswerkzeuge leichtgewichtig sein müssen, damit sie die Hauptprozesse auf einem Rechner nicht beeinträchtigen. Rust gab uns die Flexibilität, schnellen und effizienten Code zu schreiben. Wir haben die ‘subprocess’ -Bibliothek in Rust mit dem Linux-Bash-Befehl verwendet, um die Ausführung der Filter zu unterstützen.
Ergebnisse
- Tieferer Einblick in den Zustand und die Leistung der Systemprozesse durch Verfolgung der Speichernutzung.
- Überwachen Sie wichtige Leistungsindikatoren der Ressourcennutzungstrends wie CPU- und Speichernutzung.
- Procespy automatisierte den Prozess der Speicherverwaltung für laufende Prozesse und Anwendungen auf einem System und reduzierte den damit verbundenen manuellen Aufwand erheblich.
Weitere Fallstudien lesen
Vom Überwinden von Widrigkeiten zum Reiten der Welle der digitalen Transformation im Bildungssektor
Erfahren Sie, wie NashTech dem Trinity College London hilft, die Welle der digitalen Transformation im Bildungssektor zu reiten
Migration und Modernisierung der virtuellen Lernumgebung auf AWS für ein verbessertes Erlebnis
Das migrierte und modernisierte Moodle Infrastruktur bedeutet, dass The Open Die Universität kann nun folgende Vorteile nutzen Cloud-Vorteile.
Ein Einblick in eine einjährige RPA-Reise mit einem führenden digitalen Werbedienst
Ein Einblick in eine einjährige RPA-Reise mit einem führenden Anbieter von digitalen Werbedienstleistungen und -lösungen und wie NashTech ihnen geholfen hat.
Lassen Sie uns über Ihr Projekt sprechen
- Themen:
Unsere Partnerschaften
![docker-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/docker-white.png.png)
![ibm-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/ibm-white.png.png)
![microsoft-logo](https://www.nashtechglobal.de/wp-content/uploads/2023/04/Microsoft-logo.png)
![umbraco](https://www.nashtechglobal.de/wp-content/uploads/2023/03/umbraco.png)
![confluent-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/confluent-white.png.png)
![databricks-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/databricks-white-.png.png)
![hashicorp-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/hashiCorp-white.png.png)
![lightbend-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/lightbend-white.png.png)
![microsoft-modernization](https://www.nashtechglobal.de/wp-content/uploads/2023/07/Microsoft-Modernization.png)
![aws-partner](https://www.nashtechglobal.de/wp-content/uploads/2023/07/AWS-partner-1.png)
![ms-solutions-partner-logo](https://www.nashtechglobal.de/wp-content/uploads/2023/07/MS-Solutions-partner-logo-2.png)
![ms-data-and-ai](https://www.nashtechglobal.de/wp-content/uploads/2023/07/MS-Data-and-AI-1.png)
![ms-digital-and-app-innovation](https://www.nashtechglobal.de/wp-content/uploads/2023/07/MS-Digital-and-App-innovation-1.png)