You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
(927) |
Apr
(419) |
May
(352) |
Jun
(431) |
Jul
(463) |
Aug
(345) |
Sep
(304) |
Oct
(596) |
Nov
(466) |
Dec
(414) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(348) |
Feb
(313) |
Mar
(665) |
Apr
(688) |
May
(434) |
Jun
(311) |
Jul
(540) |
Aug
(554) |
Sep
(467) |
Oct
(341) |
Nov
(365) |
Dec
(272) |
2009 |
Jan
(386) |
Feb
(293) |
Mar
(279) |
Apr
(239) |
May
(229) |
Jun
(199) |
Jul
(186) |
Aug
(111) |
Sep
(196) |
Oct
(146) |
Nov
(116) |
Dec
(140) |
2010 |
Jan
(170) |
Feb
(159) |
Mar
(151) |
Apr
(161) |
May
(90) |
Jun
(56) |
Jul
(28) |
Aug
(22) |
Sep
(5) |
Oct
|
Nov
(23) |
Dec
(12) |
2011 |
Jan
(8) |
Feb
(8) |
Mar
(22) |
Apr
(24) |
May
(4) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Néstor <nes...@ho...> - 2011-01-13 20:44:28
|
Hi, How can I take info about hostname on Linux RH? Are there any especial command? Thanks, Néstor. |
From: Chetan <che...@ya...> - 2011-01-12 18:52:10
|
I thought that we use the CpuPerc class. Though I have not used it. The class documentation says : 'CPU percentage usage'. |
From: Chetan <che...@ya...> - 2011-01-12 18:36:28
|
And what about getting a PID for a remote process. |
From: Stefano F. <ste...@ye...> - 2010-12-23 17:16:09
|
Thank you Doug I've noticed the change yesterday! |
From: Jeremy H. <sig...@hy...> - 2010-12-23 17:15:51
|
Each physical processor in the machine should show up as 4 virtual CPUs. In your example, 3 sockets each with a quad core CPU should be 12 virtual CPUs. |
From: Andrew M. <and...@uk...> - 2010-12-23 12:08:05
|
Thanks for your reply, but I think that SIGAR is wrong. Let me explain.... Also when I said '3' it was a slip of the finger. I meant '4'. For each of the 4 CPUs SIGAR does indeed say there are 4 virtual CPUs, making 16 virtual CPUs in all. But this figure is wrong. The Intel Xeon E5440 does not have any hyper-threading capability, despite the Intel spec saying that it does. The spec is wrong. The lack of hyperthreading is confirmed via several other facts: 1. There is no way to enable it in the BIOS and the BOIS screen says there is no hyperthreading 2. The coreinfo command of psools (aka sysInternals) shows no hyperthreading. 3. The unuspported WIN32 functions for calculating the number of hyperthreads returns 4, i.e the same as the number of physical CPUs. So I reckon that 4 is correct and is 16 is wrong.I think SIGAR needs to call GetLogicalProcessorInformation on WIN32 and count the number of set bits in the processor mask for each physical CPU. |
From: Andrew M. <and...@uk...> - 2010-12-21 13:59:34
|
How do I use sigar to get the number of hyperthreading CPUs please? The machine I am using has a quad core intel xeon E5440. sigar identifies 3 physical CPUs but says that each one has 1 socket with 4 CPUs in it, which means a total of 16 logical CPUs. Is that right? Is that the right way to tot up the number of logical CPUs? |
From: Doug M. <do...@hy...> - 2010-12-21 00:14:18
|
Here's an old/simple example I had sitting around: https://gist.github.com/749262 You do need to use sigar_proc_env_t and the 'data' member is a pointer to your own data, passed as the first param to the callback. The idea is you'd use that to store the key/val pairs in your data structure of choice. There's more examples in the master branch if you look at the other language bindings. |
From: Doug M. <do...@hy...> - 2010-12-21 00:03:28
|
Hi Andrew, No plans for this at the moment, but would be happy to accept contributions of course. Have a look at the sigar C++ wrapper in Hypertable: https://github.com/nuggetwheat/hypertable/blob/master/src/cc/Common/SystemInfo.cc Maybe you can reuse that class? |
From: Doug M. <do...@hy...> - 2010-12-20 23:09:17
|
Hi All, The Sigar license has been changed to Apache 2.0 and we plan to make the wider announcement with the 1.7 release (Q1 of 2011). Given the interest in the Apache 2 licensed version, I have uploaded the 1.6.4 binaries to sourceforge (from http://hudson.hyperic.com/job/sigar-1.6-release/4/) and updated the Sigar wiki. Hope this helps! -Doug |
From: <and...@uk...> - 2010-12-20 07:51:51
|
I am in a similar position only I have already assumed that the apache license is the one. It would be good for SIGAR to be clearer on this point. $0.02. Regards, Andrew Marlow Internet ste...@ye... Sent by: sig...@sp... 20/12/2010 01:42 Please respond to sig...@hy... To sig...@hy... cc Subject Sigar License Hello Our company wants to use Sigar and we'd like to know what's the current License >From the SVN the latest version says Apache License I recon this means that only the unreleased 1.6.4 version will have apache license... as the latest stable version still ships with a GPL license I've had a look at the nightly builds and I can see the dlls for the windows platform but no related jars... can we make use of those dlls with the jar contained in the latest stable version? Or can we use instead the latest full build from sourceforge with Apache license?? Thank you ___________________________________________________________ This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is prohibited. Please refer to http://www.bnpparibas.co.uk/en/information/legal_information.asp?Code=ECAS-845C5H for additional disclosures. |
From: Stefano F. <ste...@ye...> - 2010-12-20 03:46:26
|
Hello Our company wants to use Sigar and we'd like to know what's the current License >From the SVN the latest version says Apache License I recon this means that only the unreleased 1.6.4 version will have apache license... as the latest stable version still ships with a GPL license I've had a look at the nightly builds and I can see the dlls for the windows platform but no related jars... can we make use of those dlls with the jar contained in the latest stable version? Or can we use instead the latest full build from sourceforge with Apache license?? Thank you |
From: priya <l.r...@gm...> - 2010-12-03 19:42:05
|
hi marlowa, I am in need of C API's that are required for monitoring. I hope you are on the way. can you please help me in using C API for monitoring? Thanks |
From: Andrew M. <and...@uk...> - 2010-12-01 09:00:06
|
I cannot find any documentation/examples to show how to use/call sigar_proc_env_get from C/C++ programs. When I try it core dumps. Looking at javasigar.c which makes such a call it looks like sigar_proc_env_get might be designed for use just by the JNI wrapper. It looks like it returns a java hashmap.It also looks like I need to set up the sigar_proc_env_t structure including setting up a function pointer. I don't do this at the moment coz I don't know what to do. Maybe this is why it core dumps. Can someone show me how to get the list of env vars and values using sigar please? I assumed it would be using sigar_proc_env_get but now I am not so sure. Regards, Andrew Marlow |
From: Andrew M. <and...@uk...> - 2010-12-01 08:55:41
|
For the record, I have found out what I was doing wrong. The cpu percentage is only available by sampling. So I had to make the call twice with a gap of at least one second in between. This makes it work. |
From: rhuang <rh...@po...> - 2010-11-30 22:03:45
|
I know if the process is not running with Admin privilege, Sigar couldn't get the process CPU for all the processes. But I wonder if there is another way or some settings or some permissions that could make it happen. |
From: Lee <lee...@ho...> - 2010-11-30 22:03:34
|
With respect to your observations about the sigar api, these are actually due to modifications to cpuid in the nehalem processor, these are documented in: http://www.intel.com/assets/pdf/appnote/241618.pdf This requires sigar_cpu_core_count to be modified along the lines of sigar->lcpu = (id.ebx & 0x7E000000) >> 25 |
From: priya <l.r...@gm...> - 2010-11-30 22:03:02
|
Hi, I am new to SIGAR. I want to monitor the status of ActiveMQ. After going through the net manuals about SIGAR, I thought it would satisfy my requirement. I want to use SIGAR in C application. Can any one please help me in starting a basic C program using SIGAR. I have downloaded hyperic-sigar-1.6.3-src. Please let me know what i need to do further. Thanks Priya. |
From: Andrew M. <and...@uk...> - 2010-11-30 08:34:58
|
I have written a little test program that deliberately goes into a tight CPU loop. This features as high CPU usage on task manager. However, my C++ sigar program shows it with a CPU usage of zero. It shows zero for every process. Here is a redacted version of my code: int errorCode; sigar_proc_list_t processList; errorCode = sigar_proc_list_get(sigar, &processList); if (errorCode != SIGAR_OK) { throw std::runtime_error(sigar_strerror(sigar, errorCode)); } for (size_t i = 0; i < processList.number; i++) { sigar_proc_cpu_t cpu; errorCode = sigar_proc_cpu_get(sigar, processList.data[i], &cpu); if (errorCode != SIGAR_OK) { continue; } std::cout << processList.data[i] << " " << 100.0 * cpu.percent << std::endl; } What am I doing wrong please? -Andrew Marlow |
From: Laurent P. <sig...@hy...> - 2010-11-17 07:18:07
|
Hello all, Maybe I'm wrong but in this previous thread http://forums.hyperic.com/jiveforums/thread.jspa?messageID=31290稺, dougm said that SIGAR will move from GPLv2 license to Apache2, which is confirm in sources code. But in the main documentation page http://support.hyperic.com/display/SIGAR/Home you always said that the license type is GNU GPL. Is it only a page update problem or are you always in GPL license type ? |
From: JeanDagenais2 <sig...@hy...> - 2010-11-17 07:16:55
|
Hello, I modified your code slighlty to get these results: ProcCpu procCPU = sigar.getProcCpu(pid); -> Main Change ProcState procState = sigar.getProcState(pid); ProcTime procTime = sigar.getProcTime(pid); String processName = procState.getName(); String cpuPercentage = CpuPerc.format(procCPU.getPercent()); totalProcessTime = procTime.getTotal(); System.out.println(pid + "\t\t" + processName + "\t\t" + cpuPercentage + "\t\t" + totalProcessTime); This is run with a 1000 ms interval between sampling (which is quite short based on the accuracy of windows, e.g. ~ 15 ms for sampling CPU busy). 6148 javaw 0.0% 351240 6148 javaw 43.3% 351694 6148 javaw 0.0% 351694 6148 javaw 1.5% 351709 6148 javaw 0.0% 351709 6148 javaw 1.6% 351725 6148 javaw 0.0% 351725 6148 javaw 4.7% 351772 6148 javaw 0.0% 351772 6148 javaw 0.0% 351772 6148 javaw 0.0% 351772 This is on Windows XP, and you need to remember that Windows has an accuracy of about 15 milliseconds for this counter, which mean it's not too accurate at low utilization. It is better on Linux and Solaris. I added the procTime.getTotal() which gives you an idea of what is really measured and then interpreted as %. Hope this help! Jean |
From: slopixi <sig...@hy...> - 2010-11-17 07:16:45
|
After several hours of testing, and trying to make this work I give up. Test results: Windows XP x86 - process cpu usages are correct ( after comparing them with task manager) HP-UX 11.23 IA64 - process cpu usages are correct only for processes that are using more than 3-4 % of cpu. I have one process that is running between 0.8 and 2.95% but sigar is returning me 3.2 then some zeros and then again 3.2, after leaving to monitor for longer time, only decimals are changing. All values are comparing to TOP command. Solaris running on sparc ( not 64) I'm monitoring java process that is using 2-10% of cpu and sigar is returning 58-80%, what is completely wrong. Once again all numbers are compared to top command. And now to gathering method: public class Top extends SigarCommandBase { private static Logger m_logger = null; public void getData( long pid) { try { ProcCpu procCPU = this.proxy.getProcCpu( pid); ProcState procState = sigar.getProcState(pid); System.out.println( pid + "\t\t" + procState.getName() +"\t\t" + procCPU.getPercent()*100); } catch ( SigarException ee){ m_logger.error("SigarException", e); } catch( Exception e) { m_logger.error("Error getting data", e); } } public void runProgram( int pid) throws Exception { m_logger.info("Start checking cpu usage."); while(true) { getData( pid); try { Thread.sleep(1000); } catch (Exception e) { m_logger.error("interupted sleep", e); } } } public static void main(String[] args) throws Exception { org.apache.log4j.PropertyConfigurator.configureAndWatch( "log4j.properties"); m_logger = Logger.getLogger(Top.class); if( args.length < 1) m_logger.error("No argument for pid."); else new Top().runProgram( Integer.valueOf( args[0])); } @Override public void output(String[] strings) throws SigarException { throw new UnsupportedOperationException("Not supported yet."); } } I was using Top.java from sample of sigar. But can't get values near top command. I'm wondering if reading process cpu usage actualy works ? I will be very grateful for any help with my issue. |
From: JeanDagenais2 <sig...@hy...> - 2010-11-17 07:16:35
|
Hello, I need to monitor the disk IO statistics of NFS drives on Solaris/SPARC. Sigar is able to do it, but I need to provide the device name, e.g. nfs1 instead of the mount point. The question is: [b]Is there an easy way to map the nfs mount points (e.g. server0123:/remote_data1) to a device name (e.g. nfs5)?[/b] This is how the output of the SIGAR API calls looks like: For a local disk: fslist[i].getDirName() /local_data1 fslist[i].getDevName() /dev/dsk/c3t2d0s5 fileSystemUsage.toString() {DiskQueue=0.0, DiskReadBytes=183227405312, DiskWriteBytes=359966466048, Free=20722965, DiskWrites=5573518, UsePercent=0.87, DiskReads=28092646, Files=16889600, Used=119656085, Avail=19319175, FreeFiles=16889584, DiskServiceTime=0.0, Total=140379050} fileSystemUsage.getFiles() 16889600 fileSystemUsage.getFreeFiles() 16889584 fileSystemUsage.getAvail() 19319175 fileSystemUsage.getFree() 20722965 fileSystemUsage.getTotal() 140379050 fileSystemUsage.getUsed() 119656085 fileSystemUsage.getUsePercent() 87 fileSystemUsage.getDiskReadBytes() 183227405312 fileSystemUsage.getDiskWriteBytes() 359966466048 fileSystemUsage.getReads() 28092646 fileSystemUsage.getWrites() 5573518 fileSystemUsage.getDiskQueue() 0.0 fileSystemUsage.getDiskServiceTime() 0.0 For a remote "NFS" disk: fslist[i].getDirName() /remote_data1 fslist[i].getDevName() server0123:/remote_data1 fileSystemUsage.toString() {Files=16889600, Used=119656085, Avail=19319175, DiskQueue=-1.0, FreeFiles=16889584, DiskServiceTime=-1.0, Free=20722965, Total=140379050, UsePercent=0.87} fileSystemUsage.getFiles() 16889600 fileSystemUsage.getFreeFiles() 16889584 fileSystemUsage.getAvail() 19319175 fileSystemUsage.getFree() 20722965 fileSystemUsage.getTotal() 140379050 fileSystemUsage.getUsed() 119656085 fileSystemUsage.getUsePercent() 87 In order to get the Reads/Writes, etc, I need to use this call and specify the nfs device to Sigar. diskUsage = sigar.getDiskUsage("nfs5"); diskUsage.toString() {Writes=0, WriteBytes=0, ServiceTime=0.7298743809250833, ReadBytes=4555014496, Queue=1.503356652653156E-10, Reads=139553} diskUsage.getReadBytes() 4555014496 diskUsage.getWriteBytes() 0 diskUsage.getReads() 139553 diskUsage.getWrites() 0 diskUsage.getServiceTime() 0.7298743809250833 Right now, I am prototyping using iostat -xpI and iostat -xpnI (running them as Runtime.getRuntime().exec to build the mapping, so I can send the right nfs.... name for the remote disk to Sigar. I would appreciate an easier way to do it. Thanks very much for your help! Jean |
From: JeanDagenais2 <sig...@hy...> - 2010-11-17 07:16:33
|
Hello, After a while ... I am back working on Solaris 9 servers, and this is the output of the command which fail when running with Sun JDK 64 bits, but work with JDK 32 bits. The problem is when I run with SUN JDK 32 bits, then I miss the memory usage of 64 bits processes... This is the output when it work OK: cib-ratedb1{a112695}965: truss -f '-t!open,stat' java -jar sigar.jar ifconfig 2>&1 | grep ENOENT 24842: access("/usr/j2se/lib/sparc/libjava.so", 0) Err#2 ENOENT 24842: access("/usr/j2se/lib/sparc/libjava.so", 0) Err#2 ENOENT 24842/1: resolvepath("/usr/j2se/jre/classes", 0xFFBFCBA0, 1024) Err#2 ENOENT And the extract of the log: 24466/1: so_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, "", 1) = 6 24466/1: ioctl(6, 0xC0086914, 0xFFBFD3C0) = 0 24466/1: close(6) = 0 24466/1: so_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, "", 1) = 6 24466/1: ioctl(6, 0xC020690D, 0xFFBFD820) = 0 24466/1: ioctl(6, 0xC0206919, 0xFFBFD820) = 0 24466/1: ioctl(6, 0xC0206911, 0xFFBFD820) = 0 24466/1: ioctl(6, 0xC078697A, 0xFFBFD6A8) = 0 24466/1: ioctl(6, 0xC020691B, 0xFFBFD820) = 0 24466/1: close(6) = 0 lo0 Link encap:Local Loopback24466/1: write(1, " l o 0\t L i n k e n c".., 29) = 29 This is the output when there is an error: cib-ratedb1{a112695}964: truss -f '-t!open,stat' java -d64 -jar sigar.jar ifconfig 2>&1 | grep ENOENT 24737: access("/usr/j2se/lib/sparcv9/libjava.so", 0) Err#2 ENOENT 24737: access("/usr/j2se/lib/sparcv9/libjava.so", 0) Err#2 ENOENT 24737/1: resolvepath("/usr/j2se/jre/classes", 0xFFFFFFFF7FFFAD98, 1024) Err#2 ENOENT 24737/1: ioctl(6, 0xC008695C, 0xFFFFFFFF7FFFBBB0) Err#2 ENOENT And the extract of the log: 24486/1: lwp_cond_wait(0x100115D58, 0x100115D40, 0x00000000) = 0 24486/6: lwp_park(0x00000000, 0) (sleeping...) 24486/1: so_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, "", 1) = 6 24486/1: ioctl(6, 0xC008695C, 0xFFFFFFFF7FFFBBB0) Err#2 ENOENT 24486/1: lwp_cond_signal(0x100116398) = 0 24486/8: lwp_cond_wait(0x100116398, 0x100116380, 0x00000000) = 0 24486/8: lwp_schedctl(SC_PREEMPT, 0, 0xFFFFFFFF2EFFFBC8) = 0 24486/8: lwp_self() = 8 24486/8: lwp_schedctl(SC_PREEMPT, 0, 0xFFFFFFFF2EFFFBC8) = 0 24486/8: lwp_self() = 8 24486/8: lwp_mutex_lock(0xFFFFFFFF7EB79558) = 0 No such file or directory24486/1: write(2, " N o s u c h f i l e".., 25) = 25 |
From: slopixi <sig...@hy...> - 2010-11-17 07:16:08
|
Hi, I'll continue this thread, I'm having problems with getting really small process cpu usages. My program is running on HPUX and does give me accurate data for process usages that are high. I have problem that I can't get usages that are < 1%. They are just 0.0%. I know the problem getting in loop etc. Because I'm getting data for higher usages. My problem is not crashing type, but its really annoying. Way I get the data: class extends SigarCommandBase in class there is loop that gets data ProcCpu procCPU = this.proxy.getProcCpu( pid); procCPU.getPercent()*100; There is 2s between data reading. I'll be really greateful for any suggestion. |