2012-09-20 21 views
5

Sigar API (http://support.hyperic.com/display/SIGAR/Home) yazılımını indirdim ve çalışmakta olan farklı işlemler hakkında bilgi almak için bir projede kullanmak istiyorum.JAVA için Sigar API'si (bir kılavuza ihtiyaç var)

Sorunum, öğrenmek istediğim bazı yararlı kod parçacıklarını gerçekten bulamadığım ve javadoc'un web sitelerinden pek fazla yardımcı olmadığımı, çünkü ne aradığımı bilmiyorum.

Daha fazla bilgi bulabileceğim herhangi bir ideea var mı?

+1

Daha önce sigar kullanılan ve oldukça kolay buldum yapıyor deneyin Windows 7 kullanıyorsanız. Tam olarak ne aradığınızı belirtebilir misiniz? PTQL doc sayfası javadoc ile birleştiğinde bana oldukça iyi bir başlangıç ​​gibi geliyor. –

+0

Yani, bir başlangıç ​​noktası olarak, explorer.exe (örnek) gibi belirli bir işlem için proccessor/bellek kullanımı hakkında bilgiye ihtiyacım var. – CosminO

+1

Bu biraz tahmin, bu yüzden cevap olarak göndermem; Ben sadece ProcMem pm = new ProcMem(); pm.gather (sigar, yourPid); pm.getsize(). ProcTime ile işlemci için analog. PTQL ifadesinden bir pid bulmak için ProcessFinder uygulamasını kullanabilirsiniz. –

cevap

8

pid'u bulmak için (belirli bir işlem hakkında bilgi edinmek için gerekli olan), bir ProcessFinder kullanabilirsiniz. Tek bir işlem pidini bulma yöntemi findSingleProcess(String expression). Örnek:

Class is the name of the Sigar class minus the Proc prefix. 
Attribute is an attribute of the given Class, index into an array or key in a Map class. 
operator is one of the following for String values: 
eq - Equal to value 
ne - Not Equal to value 
ew - Ends with value 
sw - Starts with value 
ct - Contains value (substring) 
re - Regular expression value matches 
operator is one of the following for numeric values: 
eq - Equal to value 
ne - Not Equal to value 
gt - Greater than value 
ge - Greater than or equal value 
lt - Less than value 
le - Less than or equal value 
burada

diğer bilgiler: en son pakette http://support.hyperic.com/display/SIGAR/PTQL

+1

'findSingleProcess (" Exe.Name.ct = explorer ") kullanmaya çalıştığım;' dediğiniz gibi ve bu hatayı alıyorum 'org.hyperic.sigar.SigarException: Sorgu herhangi bir işlemle eşleşmedi. Ve görev yöneticisinde görebildiğim gibi 'explorer.exe' işlemi çalışıyor. – Alvaro

+0

hangi işletim sistemini kullanıyorsunuz? – CosminO

+0

Windows 7 kullanıyorum. – Alvaro

0

, onlar bir sürü vermek

Class.Attribute.operator=value 

:

Sigar sigar=new Sigar(); 
    ProcessFinder find=new ProcessFinder(sigar); 
    long pid=find.findSingleProcess("Exe.Name.ct=explorer"); 
    ProcMem memory=new ProcMem(); 
    memory.gather(sigar, pid); 
    System.out.println(Long.toString(memory.getSize())); 

ifade sözdizimi şudur bindings\java\examples altında kullanım örnekleri. Onları kontrol et.

1

bir şey

likefindSingleProcess("State.Name.ct=explorer"); 
İlgili konular