要即時查看某個thread所使用的記憶體大小並沒有具體的語句。
但是可以透過前後對比法進行階段性監控與分析。
首先加入靜態方法:
public static long getmemory() {
return runtime.getruntime().freememory();
}
這個是查看運行時空閒記憶體的語句。
所以應該在需要偵測的執行緒執行點前後進行插樁。
long point1 = getmemory();
執行緒呼叫
long point2 = getmemory();
注意:另外,在這個過程中不應該有其他的干擾(呼叫其他執行緒或其他操作)
甚至可以在執行緒中進行插樁,然後分析所有點的數值變化,根據數值差,就可以得到答案。
mysql系統變數分為全域變數和會話變量,全域變數的修改影響到整個伺服器,會話變數修改只影響目前的會話。
查看log日誌是否開啟
show variables like 'general_log'
set GLOBAL general_log='ON';
SET GLOBAL general_log_file = '/tmp/mysql.log'
不使用的時候記得關掉,否則會大量佔用磁碟空間。
show processlist指令查看了目前正在執行的sql語句,同時可以查看使用者目前的連線
查看慢日誌
show variables like '%slow_query_log%';
show variables like 'long_query_time%';設定慢日誌記錄什麼樣的SQL,預設10s
log-queries-not-using-indexes:未使用索引的查詢也被記錄到慢查詢日誌中,一般也開啟這個變數
show status查看mysql運行狀態(to learn)
例如看mysql有多少個慢查詢記錄: show global status like '%Slow_queries%';
1.將應用程式原始碼複製進Android原始碼目錄(提前編譯好原始碼)
2.使用build/envsteup.sh 設定shell -
mm TARGET_PRODUCT=product_name
或直接./build_android.sh 也能完成編譯。
3.在原始碼目錄:out/target/product/productname/obj/APPS/test_cert_intermediates 下有三個檔案:package.apk package.apk.unsigned package.apk.unaligned
將package.apk.unsigned複製出來,單獨進行sign.
4.在Windows下進行sign: jarsigner -verbose -keystore youkey.keystore d:\package.apk.unsigned youkey
5.zipalign -v 4 d:\package.apk.unsigned d:\package.signed.apk
nodejs是一種單執行緒模型,但是,使用nodejs的child_process模組可以實現多重處理任務。利用child_process可以建立子進程,實現子進程和主進程之間的通訊。
nodejs v0.12.7版本child_process提供以下同步和非同步的方式建立程序:
非同步建立:
child_process.spawn(command[, args][, options])
options.stdio
options.detached
options.customFds
child_process.exec(command[, options], callback)
child_process.execFile(file[, args][, options][callback])
child_process.fork(modulePath[, args][, options])
同步建立:
child_process.spawnSync(command[, args][, options])
child_process.execFileSync(command[, args][, options])
child_process.execSync(command[, options])
以上是如何監控Java子執行緒的執行時間和記憶體佔用情況的詳細內容。更多資訊請關注PHP中文網其他相關文章!