Heim  >  Artikel  >  Computer-Tutorials  >  So überwachen Sie die Ausführungszeit und Speichernutzung von Java-Subthreads

So überwachen Sie die Ausführungszeit und Speichernutzung von Java-Subthreads

WBOY
WBOYnach vorne
2024-01-15 20:33:05879Durchsuche

So ermitteln Sie die Ausführungszeit und Speichernutzung des Java-Sub-Threads

Es gibt keine spezifische Anweisung, um die von einem Thread verwendete Speichergröße in Echtzeit zu überprüfen.

Eine phasenweise Überwachung und Analyse kann jedoch durch die Vorher-Nachher-Vergleichsmethode durchgeführt werden.

Fügen Sie zunächst eine statische Methode hinzu:

public static long getmemory() {

return runtime.getruntime().freememory();

}

Dies ist eine Anweisung zur Überprüfung des freien Speichers zur Laufzeit.

Daher sollte die Instrumentierung vor und nach dem Thread-Ausführungspunkt durchgeführt werden, der erkannt werden muss.

long point1 = getmemory();

Thread-Aufruf

long point2 = getmemory();

Hinweis: Darüber hinaus sollte es während dieses Vorgangs zu keinen anderen Störungen (Aufrufen anderer Threads oder anderer Vorgänge) kommen

Sie können sogar eine Instrumentierung im Thread durchführen, dann die numerischen Änderungen aller Punkte analysieren und die Antwort basierend auf der numerischen Differenz erhalten.

So überprüfen Sie den MySQL-Ausführungsfortschritt

MySQL-Systemvariablen werden in globale Variablen und Sitzungsvariablen unterteilt. Änderungen an globalen Variablen wirken sich auf den gesamten Server aus, während Änderungen an Sitzungsvariablen nur die aktuelle Sitzung betreffen.

Überprüfen Sie, ob das Protokoll aktiviert ist

Variablen wie „general_log“ anzeigen

set GLOBAL general_log='ON';

SET GLOBAL general_log_file = '/tmp/mysql.log'

Denken Sie daran, es auszuschalten, wenn es nicht verwendet wird, da es sonst viel Speicherplatz belegt.

Der Befehl show Processlist überprüft die aktuell ausgeführte SQL-Anweisung und kann auch die aktuelle Verbindung des Benutzers überprüfen

Slow Log anzeigen

Variablen wie „%slow_query_log%“ anzeigen;

Variablen wie „long_query_time%“ anzeigen; legen Sie fest, welche Art von SQL das langsame Protokoll aufzeichnet, der Standardwert ist 10s

log-queries-not-using-indexes: Abfragen, die keine Indizes verwenden, werden auch im langsamen Abfrageprotokoll aufgezeichnet. Diese Variable ist im Allgemeinen aktiviert

Status anzeigen, um den MySQL-Laufstatus anzuzeigen (zum Lernen)

Überprüfen Sie beispielsweise, wie viele langsame Abfragedatensätze es in MySQL gibt: Zeigen Sie den globalen Status wie „%Slow_queries%“ an;

Wie stellt Android fest, ob der durch nativen Code gegabelte untergeordnete Prozess über PID ausgeführt wird?

1. Kopieren Sie den Quellcode der Anwendung in das Android-Quellcodeverzeichnis (kompilieren Sie den Quellcode im Voraus)

2. Verwenden Sie build/envsteup.sh, um die Shell zu konfigurieren -

mm TARGET_PRODUCT=Produktname

Oder direkt ./build_android.sh kann die Kompilierung auch abschließen.

3. Es gibt drei Dateien im Quellcodeverzeichnis: out/target/product/productname/obj/APPS/test_cert_intermediates: package.apk package.apk.unsigned package.apk.unaligned

Kopieren Sie package.apk.unsigned und signieren Sie es separat.

4. Unter Windows anmelden: jarsigner -verbose -keystore youkey.keystore d:package.apk.unsigned youkey

5.zipalign -v 4 d:package.apk.unsigned d:package.signed.apk

Wie NodeJS den Abschluss der Ausführung eines untergeordneten Prozesses erkennt

nodejs ist ein Single-Threaded-Modell, jedoch können Mehrprozessaufgaben mit dem child_process-Modul von nodejs implementiert werden. Child_process kann verwendet werden, um einen untergeordneten Prozess zu erstellen und die Kommunikation zwischen dem untergeordneten Prozess und dem Hauptprozess zu implementieren.

nodejs v0.12.7 Version child_process bietet die folgenden synchronen und asynchronen Möglichkeiten zum Erstellen von Prozessen:

Asynchrone Erstellung:

child_process.spawn(command[, args][, options])

options.stdio

options.dependent

options.customFds

child_process.exec(Befehl[, Optionen], Rückruf)

child_process.execFile(file[, args][, Optionen][callback])

child_process.fork(modulePath[, args][, Optionen])

Synchronisierte Erstellung:

child_process.spawnSync(command[, args][, options])

child_process.execFileSync(command[, args][, Optionen])

child_process.execSync(command[, Optionen])

Das obige ist der detaillierte Inhalt vonSo überwachen Sie die Ausführungszeit und Speichernutzung von Java-Subthreads. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen