Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SIGAR库获取java进程的内存使用率? 下面的过程是执行C++代码,我想知道C++代码使用的内存。 ProcessBuilder p = new ProcessBuilder("./" + compiledFile); Process pp = p.start(); long id = getProcessID(pp); Sigar sigar=new Sigar(); ProcMem memory=new ProcMem(); memory.gather(sigar, id); System.out.println("memory ---> "+Long.toString(memory.getSize()));_Java_Sigar - Fatal编程技术网

如何使用SIGAR库获取java进程的内存使用率? 下面的过程是执行C++代码,我想知道C++代码使用的内存。 ProcessBuilder p = new ProcessBuilder("./" + compiledFile); Process pp = p.start(); long id = getProcessID(pp); Sigar sigar=new Sigar(); ProcMem memory=new ProcMem(); memory.gather(sigar, id); System.out.println("memory ---> "+Long.toString(memory.getSize()));

如何使用SIGAR库获取java进程的内存使用率? 下面的过程是执行C++代码,我想知道C++代码使用的内存。 ProcessBuilder p = new ProcessBuilder("./" + compiledFile); Process pp = p.start(); long id = getProcessID(pp); Sigar sigar=new Sigar(); ProcMem memory=new ProcMem(); memory.gather(sigar, id); System.out.println("memory ---> "+Long.toString(memory.getSize()));,java,sigar,Java,Sigar,我试过下面的代码,但它返回sigar异常:“没有这样的过程”。 要获取进程id,我使用以下方法 public long getProcessID(Process p) { long pid = -1; try { if (p.getClass().getName().equals("java.lang.UNIXProcess")) { Field f = p.

我试过下面的代码,但它返回sigar异常:“没有这样的过程”。 要获取进程id,我使用以下方法

public long getProcessID(Process p)
    {
        long pid = -1;
        try
        {
            if (p.getClass().getName().equals("java.lang.UNIXProcess")) 
            {
                Field f = p.getClass().getDeclaredField("pid");
                f.setAccessible(true);
                result = f.getLong(p);
                f.setAccessible(false);
            }
        }
        catch(Exception ex)
        {
            pid = -1;
        }
        return pid;
    }
我是新手。我有什么地方做错了吗?还是我做错了什么? 任何帮助或建议都将不胜感激。谢谢。

您看过了吗。它一点也不优雅,但似乎是你想要做的一个例子