@Override
            public void run() {
                try {
                    while (true) {
                        pTree.updateProcessTree();
                        Long time = (new Date()).getTime();
                        double currentPmemUsage =
                                Double.parseDouble(df.format(pTree.getRssMemorySize() / 1024.0 / 1024.0 / 1024.0));
                        int cpuUsagePercentPerCore = (int) pTree.getCpuUsagePercent();
                        if (cpuUsagePercentPerCore < 0) {
                            cpuUsagePercentPerCore = 0;
                        }
                        if (currentPmemUsage < 0.0) {
                            currentPmemUsage = 0.0;
                        }
                        List memPoint = new ArrayList();
                        List utilPoint = new ArrayList();
                        memPoint.add(time);
                        memPoint.add(currentPmemUsage);
                        utilPoint.add(time);
                        utilPoint.add(cpuUsagePercentPerCore);
                        cpuMetrics.put("CPUMEM", memPoint);
                        cpuMetrics.put("CPUUTIL", utilPoint);
                        Utilities.sleep(1000);
                    }
                } catch (Exception e) {
                    LOG.warn("Exception in thread read cpu metrics");
                    e.printStackTrace();
                }
            }
Return the number of cpu vcores assigned

@return
core/src/main/java/net/qihoo/hbox/container/ContainerReporter.java