Maison >tutoriels informatiques >connaissances en informatique >Comment surveiller le temps d'exécution et l'utilisation de la mémoire des sous-threads Java

Comment surveiller le temps d'exécution et l'utilisation de la mémoire des sous-threads Java

WBOY
WBOYavant
2024-01-15 20:33:05907parcourir

Comment obtenir le temps d'exécution et l'utilisation de la mémoire du sous-thread Java

Il n'y a pas d'instruction spécifique pour vérifier la taille de la mémoire utilisée par un thread en temps réel.

Cependant, une surveillance et une analyse progressives peuvent être effectuées grâce à la méthode de comparaison avant et après.

Ajoutez d'abord une méthode statique :

public static long getmemory() {

retourner runtime.getruntime().freememory();

}

Il s'agit d'une instruction permettant de vérifier la mémoire libre au moment de l'exécution.

L'instrumentation doit donc être effectuée avant et après le point d'exécution du thread qui doit être détecté.

point long1 = getmemory();

Appel de fil de discussion

point long2 = getmemory();

Remarque : De plus, il ne devrait y avoir aucune autre interférence (appel d'autres threads ou autres opérations) pendant ce processus

Vous pouvez même effectuer une instrumentation dans le fil, puis analyser les changements numériques de tous les points et obtenir la réponse basée sur la différence numérique.

Comment vérifier la progression de l'exécution de MySQL

Les variables système MySQL sont divisées en variables globales et variables de session. Les modifications des variables globales affectent l'ensemble du serveur, tandis que les modifications des variables de session n'affectent que la session en cours.

Vérifiez si le journal est activé

afficher des variables comme 'general_log'

set GLOBAL general_log='ON';

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

N'oubliez pas de l'éteindre lorsqu'il n'est pas utilisé, sinon il occupera beaucoup d'espace disque.

La commande show processlist vérifie l'instruction SQL en cours d'exécution et peut également vérifier la connexion actuelle de l'utilisateur

Afficher le journal lent

afficher les variables comme '%slow_query_log%';

afficher les variables comme 'long_query_time%' ; définir le type de SQL enregistré par le journal lent, la valeur par défaut est 10 s

log-queries-not-using-indexes : les requêtes qui n'utilisent pas d'index sont également enregistrées dans le journal des requêtes lentes. Cette variable est généralement activée

.

afficher le statut pour afficher l'état d'exécution de MySQL (pour apprendre)

Par exemple, vérifiez combien d'enregistrements de requêtes lentes il y a dans MySQL : affichez le statut global comme '%Slow_queries%' ;

Comment Android détermine-t-il si le processus enfant créé par le code natif s'exécute via pid ? 1. Copiez le code source de l'application dans le répertoire du code source Android (compilez le code source à l'avance)

2. Utilisez build/envsteup.sh pour configurer le shell -

mm TARGET_PRODUCT=nom_produit

Ou directement ./build_android.sh peut également compléter la compilation.

3. Il y a trois fichiers dans le répertoire du code source : out/target/product/productname/obj/APPS/test_cert_intermediates : package.apk package.apk.unsigned package.apk.unalignementd

Copiez package.apk.unsigned et signez-le séparément.

4. Connectez-vous sous Windows : jarsigner -verbose -keystore youkey.keystore d:package.apk.unsigned youkey

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

Comment nodejs détecte la fin de l'exécution du processus enfant

nodejs est un modèle monothread, cependant, des tâches multi-processus peuvent être implémentées à l'aide du module child_process de nodejs. Child_process peut être utilisé pour créer un processus enfant et implémenter la communication entre le processus enfant et le processus principal.

La version

nodejs v0.12.7 child_process fournit les méthodes synchrones et asynchrones suivantes pour créer des processus :

Création asynchrone :

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

options.stdio

options.détachées

options.customFds

child_process.exec(commande[, options], rappel)

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

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

Création synchronisée :

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

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

child_process.execSync(commande[, options])

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer