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.
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?
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 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!