Ich lief vor kurzem in ein Problem auf einem Server mit Version 11 von Symantec Endpoint Protection (SEP). Ich war in der Lage, die Lösung auf die Spur, und es erheblich die Leistung von Symantec Endpoint Protection Manager (SEPM) verbessert. Lesen Sie weiter für die vollständigen Details.
Im Wesentlichen wurde SEPM häufig Perren. Es wäre für mehrere Tage arbeiten, dann zufällig einsperren. Workstations würde verlieren ihre Verbindung zu SEPM, würde SEPM stoppen Download (geschweige denn zu verteilen) Updates und versucht, SEPM scheitern würde einzuloggen. Die einfache Lösung war es, den Server (oder nur den SEPM-Service) neu zu starten, aber das war eine vorübergehende Lösung, am besten.
Beim Graben in den SEPM-Protokolle (insbesondere der scm-Server-0.log Datei, die sich in% Programfiles% \ Symantec \ Symantec Endpoint Protection Manager \ tomcat \ logs \), sah ich eine Reihe von Java-bezogenen Speicherfehler. Fehler wie folgt aus:
java.lang.OutOfMemoryError: GC Obergrenze überschritten
Dies führt mich zu der auf Symantec-Website. Hier ist Symantecs Erklärung des Problems:
Die Menge an dynamischen Speicher auf die Java Virtual Machine zugewiesen / Java Runtime Environment ist unzureichend. Dynamische Speicherzuweisung (auch als heapbasierten Speicherzuweisung bekannt) ist die Zuweisung von Speicher für die Verwendung in einem Computerprogramm während der Laufzeit des Programms. Es kann auch von der Verteilung von Eigentum an begrenzten Speicherressourcen als eine Möglichkeit unter vielen Stücken von Daten und Code zu erkennen. Dynamisch zugewiesenen Speicher vorhanden ist, bis sie entweder explizit vom Programmierer freigegeben wird, oder durch den Garbage Collector (GC): - Garbage Collection (GC) eine Art automatische Speicherverwaltung ist. - Sein Zweck ist es Müll zurückzufordern, die Speicher von Objekten belegt ist, die nicht mehr in Gebrauch durch ein Programm. - It-Speicher freigibt durch Objekte zur Laufzeit verwendet automaticallly durch verschiedene Algorithmen, die die Erreichbarkeit und Lebenszyklus eines Objekts zu beurteilen. - Die Grundprinzipien der Garbage Collection sind: 1) Datenobjekte in einem Programm, das in die Zukunft 2) nicht die Reclaim zugegriffen werdenRessourcen, die von jenen Objekt verwendet wird.
Im Wesentlichen wird SEPM in Java geschrieben, und die Java Virtual Machine verwendet, um sie auszuführen aus dem Speicher ausgeführt wird. Schön ist es möglich, die Größe des Speichers zu spezifizieren, die SEPM ordnet beim Laufen. Es gibt zwei speicherbezogene Parameter, die Sie einstellen können. Die erste gibt an, wie viel Speicher SEPM sollte beginnen. Die zweite gibt die maximale Größe des Speichers SEPM ist zu nutzen. Auf meinem System wurde SEPM-Set mit nur 64 MB zu starten und zu einem Maximum von 256 MB wachsen. Ziemlich niedrige Zahlen die große Menge an Speicher zur Verfügung zu modernen Servern berücksichtigen.
Ich habe mein System mit 512 MB zu starten, und auf 512 MB (max Speichermenge, die 11 Träger SEPM) wachsen. Ich muss davon ausgehen, dass SEPM 12 (die aktuelle Version) mehr Speicher unterstützt, als 512MB recht niedrig ist. Nach der Änderung, gingen die häufigen SEPM lockups entfernt, was zu einer viel glatteren Betrieb.
Während Sie für die vollständigen Details der Lösung besuchen können, ist hier der Kern von ihm:
Während es eine Mute-Punkt ist, wenn man bedenkt, dass SEPM 11 jetzt ein bisschen älter ist, dass die Low-Memory-Einstellungen SEPM Schiffe mit scheinen ein wenig seltsam. Eine bessere Lösung wäre gewesen, für SEPM einen Wert entsprechend der Größe des Speichers in dem System installiert zu setzen, als Teil des Installationsprozesses.