如果你不介意的Java或它的JVM或者做一個小的編碼...
得到如下(所有可用的用於Windows,Linux,AIX,Solaris和等... Mac嗎?):
請記住,JTOpen只是一個普通的舊Java庫,因此您可以使用任何可以訪問普通Java庫的jvm語言。我正在使用Groovy,因爲我正在爲它做一件事情。別擔心,Groovy很好。
在這裏。
import com.ibm.as400.access.*
// how many seconds to run
secs = 20
sys = new AS400("theserver", "paulg", "dotnet4evah")
job = new Job(sys, "jobname", "jobusername", "jobnumber")
job.load()
println "Stats for ${job.toString()}"
// this might look horrible
println "total CPU time\tpage faults/sec\tdisk IO ops/sec"
while (secs--) {
job.loadStatistics()
print "${job.getCPUUsed()/1000}\t\t"
print "${job.getValue(Job.ELAPSED_PAGE_FAULTS)}\t\t"
println "${job.getValue(Job.ELAPSED_DISK_IO)}"
job.resetStatistics()
Thread.sleep(1000)
}
sys.disconnectAllServices()
就是這樣。 play with還有許多其他的工作價值。我從來不必爲這些工作統計而煩惱,所以我不知道重置統計數據是否正確。
爲了創建Job對象,實際知道作業號和有關作業的其他詳細信息是一種痛苦。這就是爲什麼JobList非常好。如果有用,您還可以從腳本中獲得run CL commands。
我認爲IBM使用這個庫來構建Ops Navigator,因此您可能已經使用了一段時間了。
一般來說,如果您需要執行有效的性能監控(特別是在預算中),基本上**沒有作業**應該在系統池2中運行。系統池2是* BASE,* BASE中的內存不應被活動作業使用。 (這包括所有IBM提供的服務器作業等,默認情況下在* BASE中運行。) 系統內存管理的基本原理是「所有添加到共享池的內存總是從* BASE中取出,從共享池釋放的所有內存總是返回到* BASE。」如果你想按照預算來做,計劃和工作就算是有用的指標。 – user2338816 2014-03-22 12:45:54