Giter Club home page Giter Club logo

kvmtop's People

Contributors

cha87de avatar codacy-badger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kvmtop's Issues

Json printer generates invalid value.

Thanks for quick fix.

I apply latest rpm file(kvmtop_2.1.1_linux_amd64.rpm) on my system. There is new issue for json printer. Some of value is not generated as blow.(hostname is missing in host)

Also I hope to add CPU utilization for HOST, if possible.

{
	"host": {
		"ram_Total": 8081032,
		"ram_Free": 177356,
		"ram_Available": 243624,
		"disk_device_reads": 10,
		"disk_device_writes": 0,
		"net_host_receivedBytes": 0,
		"net_host_transmittedBytes": 0,
		"net_host_speed": 0,
		"cpu_cores": 4,
		"cpu_curfreq": 0.000000
	},
	"domains": [{
			"UUID": "4b7814f2-59fd-4b73-838c-4cb150cbae18",
			"name": "oma",
			"ram_total": 1015504,
			"ram_used": 72012,
			"disk_size_capacity": 21474836480,
			"disk_size_allocation": 20541877760,
			"net_receivedBytes": 0,
			"net_transmittedBytes": 0,
			"cpu_cores": 1,
			"cpu_total": 0,
			"cpu_steal": 0
		}, {
			"UUID": "42de0be1-e95c-44db-9cc3-ca4820c5a875",
			"name": "servicerepository",
			"ram_total": 2952772,
			"ram_used": 150812,
			"disk_size_capacity": 21474836480,
			"disk_size_allocation": 3487038976,
			"net_receivedBytes": 0,
			"net_transmittedBytes": 52,
			"cpu_cores": 2,
			"cpu_total": 1,
			"cpu_steal": 0
		}, {
			"UUID": "eb40b9d1-87e6-455d-a6b4-b27229c9652c",
			"name": "mepm",
			"ram_total": 2952772,
			"ram_used": 135544,
			"disk_size_capacity": 21474836480,
			"disk_size_allocation": 3572104704,
			"net_receivedBytes": 0,
			"net_transmittedBytes": 52,
			"cpu_cores": 2,
			"cpu_total": 50,
			"cpu_steal": 0
		}, {
			"UUID": "914469ff-15c4-486c-83ac-c20f04f731b1",
			"name": "openapigw",
			"ram_total": 2952772,
			"ram_used": 138780,
			"disk_size_capacity": 21474836480,
			"disk_size_allocation": 4460314112,
			"net_receivedBytes": 0,
			"net_transmittedBytes": 52,
			"cpu_cores": 2,
			"cpu_total": 1,
			"cpu_steal": 0
		}
	]
}

empty fields in first & second run

original issue from @analistamarcioprado in #14

Only from the 3 query does the cpu_total appear.
I am using the version: 2.0.1

#kvmtop --cpu --printer=json -r1
[]
[{"UUID": "ad3dfd25-a429-4e9a-80a7-c8d88169ca47","name": "Windows7","cpu_cores": "1","cpu_total": "","cpu_steal": "","cpu_other_total": "","cpu_other_steal": "",},]

#kvmtop --cpu --printer=json -r3
[]
[{"UUID": "ad3dfd25-a429-4e9a-80a7-c8d88169ca47","name": "Windows7","cpu_cores": "1","cpu_total": "","cpu_steal": "","cpu_other_total": "","cpu_other_steal": "",},]
[{"UUID": "ad3dfd25-a429-4e9a-80a7-c8d88169ca47","name": "Windows7","cpu_cores": "1","cpu_total": "","cpu_steal": "","cpu_other_total": "","cpu_other_steal": "",},]
[{"UUID": "ad3dfd25-a429-4e9a-80a7-c8d88169ca47","name": "Windows7","cpu_cores": "1","cpu_total": "1","cpu_steal": "0","cpu_other_total": "3","cpu_other_steal": "0",},]

Flag output unknown

Flag output unknown in kvmtop version 2.0.1

kvmtop --cpu --printer = json --output = tcp --target = 127.0.0.1: 12345
unknown flag `output '

Am I doing something wrong?

kvmtop for gpu

is there Plan to add GPU metrics?like intel igd or nvidia T4...

undefined: libvirt.Connect when running build command

while trying to build for cross-platform I'm getting the following error msg:

$ GO111MODULE=on GOOS=linux GOARCH=amd64 go build

github.com/cha87de/kvmtop/connector

../../connector/libvirt.go:12:17: undefined: libvirt.Connect
../../connector/libvirt.go:17:15: undefined: libvirt.NewConnect

github.com/cha87de/kvmtop/models

../../models/libvirtDomains.go:15:62: undefined: libvirt.Domain
../../models/libvirtDomains.go:18:10: undefined: libvirt.Domain
../../models/libvirtDomains.go:20:21: undefined: libvirt.Domain
../../models/libvirtDomains.go:25:63: undefined: libvirt.Domain

any ideas?

vm cpu util in kvmtop unequal top inside vm

Hi.

I reinstall kvmtop latest release(2.1.3) in my system.
Total number of CPU is fixed.

But, There are issue usage of CPU usage of VM is not collect.
As you see below, VM name "vedge" is shown "52%" CPU usage.

So, I checked with top after login vedge VM. CPU usage is less than 1%.

kvmtop --cpu --mem

cpu                ram
cores    88        Total    19763962
curfreq  0.000000  Free     2562432
                   Availabl 11867460

                  cpu               ram
UUID     name     cores total steal total    used
256fc986 vedge    4     52    0     3880072  2278276
f62468f4 pike-osc 4     12    0     8173704  7493712

top in vedge vm

=====================================================

top - 02:54:01 up 14 days,  5:45,  2 users,  load average: 0.01, 0.03, 0.05
Tasks: 141 total,   2 running, 139 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.6 st
KiB Mem :  3880072 total,  1599800 free,  1643624 used,   636648 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1960016 avail Mem

Host CPU core need to consider hyper thread enabled.

Hi.

My Server has 2 cpu socket and it enabled hyper thread. So, If I see /proc/cpuinfo 88 core is listed.
But kvmtop only show 10 cpu. So, It make cpu utilization as wrong.
Some of VM has shown 100 as total. If I login into VM, and check with top command it shown under 5% utilization.

I think, CPU utilization of VM is depends on number of total cpu counts.

cpu              
 cores    10
 curfreq  0.000000


                   cpu
 UUID     name     cores total steal 
 0fe678e6 ServiceV 1     99    0
 ba053343 vnfm     2     50    0
 e35a7be7 udsf-vm  2     50    0
 a8c1e3b8 ubuntu16 4     26    0
 a8d6924c streamer 8     2     0
 bc3e0e69 win10-st 8     13    0
 5ed8416c MECVIDEO 1     100   0
 4973ae1d QA-appPK 1     1     0
 882e9fa7 titan-li 8     1     0
 a7de3a43 titan-li 8     1     0
 a98df57b QA-appPK 1     1     0
 6b180f44 QATEST1- 1     0     0
 95680053 appPKG00 1     0     0
 0cd96e6b appPKG00 1     0     0
 a762ee31 QATEST1- 1     0     0
 9b59a6eb centos7. 2     0     0

I checked with virt-top

virt-top 21:56:23 - x86_64 88/88CPU 2100MHz 196275MB 9.6% 9.5% 9.5%
20 domains, 16 active, 16 running, 0 sleeping, 0 paused, 4 inactive D:0 O:0 X:0
CPU: 9.5%  Mem: 53722 MB (53722 MB by guests)

   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM    TIME   NAME                                                                                                                                    
    4 R    0    0  12M    0  1.5  4.0 187:05:23 win10-streamer-test
    3 R    0    0   2M    0  1.3  2.0 106:52:17 ubuntu16.04-test
    2 R    0    0   2M    0  1.2  1.0  86:29:56 vnfm
   48 R    0    1   2M    0  1.2  0.0  47:31.80 ServiceVM-9215cf460d08
    8 R    0    1   2M    0  1.2  1.0  88:11:58 udsf-vm
   47 R    0    0   2M    0  1.2  0.0  50:29:37 MECVIDEOVM-d542a9c58db6
    7 R    0    2  12M    0  0.7  4.0  97:45:06 titan-live-org
    1 R    0    0  12M  360  0.6  4.0 129:53:33 streamer-win10-20G
    6 R    0    0  12M    0  0.6  4.0  96:17:14 titan-live--clone
   16 R    0    0    0    0  0.0  0.0 227:06.60 QA-appPKG000-1-f3687bfdb28b
   30 R    0    0    0    0  0.0  0.0  88:15.50 appPKG005-Com2-ea67d0ade870
   15 R    0    0    0    0  0.0  0.0 208:36.58 QA-appPKG000-3-95ec09566f2d
   36 R    0    0    0    0  0.0  0.0  52:25.82 QATEST1-Com11-9f5e6eb9287d
   37 R    0    0    0    0  0.0  0.0  51:54.29 QATEST1-Com21-ae22739a4631
   29 R    0    0    0    0  0.0  0.0  90:04.44 appPKG005-Com11-73190ab88e26
   41 R    0    0    0    0  0.0  1.0   4:54.77 centos7.0

When I start kvmtop, sometimes data is not collected and It display "NaN"

when I start kvmtop as below, sometimes data is not collected correctly. It show NaN.
If I restart kvmtop, again. It is working fine.

# kvmtop --cpu --mem --disk --printer=text
UUID	name	ram_total	ram_used	disk_size_capacity	disk_size_allocation	cpu_cores	cpu_total	cpu_steal	
d53899e4-17d1-45c3-8404-ae28f5f7f3a4	server	1015408	185688	21474836480	1735135232	1	NaN	NaN	
aaac72f0-1fe8-4ddd-91c7-0004a02dd887	VM1-0004a02dd887	0	0	10737795072	441962496	1	NaN	NaN	
1268c760-0d2f-4433-94ea-9c6f981e7ef2	VM1-9c6f981e7ef2	0	0	10737795072	442028032	1	NaN	NaN	
e3836de7-85de-469d-b2a2-23c6cdbf43a7	VM1-23c6cdbf43a7	0	0	10737795072	441962496	1	NaN	NaN	
675ad4b0-4c08-4e27-a841-c5f503f0a006	VM1-c5f503f0a006	0	0	10737795072	442028032	1	NaN	NaN	
e450c39e-68bf-4983-b82f-bfa09225025c	webserver-cho1-bfa09225025c	1786456	104288	21475213312	40554496	1	NaN	NaN	
1624dcd0-a54b-4971-99bf-4b2fe4509949	appPKG007-Com2-4b2fe4509949	0	0	1074118656	59691008	1	NaN	NaN	
dc878b79-4dd6-45b9-aef5-002a335ebde1	VM2-002a335ebde1	0	0	10737795072	442028032	1	NaN	NaN	
4b628d5b-212d-4eca-ab61-213715fdf63d	oma	1015236	88128	236223201280	226731700224	2	NaN	NaN	
58338920-bc48-4a8c-8612-381fcca30f0c	VM2-381fcca30f0c	0	0	10737795072	442028032	1	NaN	NaN	
9a5f50a8-f22e-4376-830e-3eb88f6aa19e	VM1-3eb88f6aa19e	0	0	10737795072	441962496	1	NaN	NaN	
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e	mepm	3880652	3744316	21474836480	10311180288	4	NaN	NaN	
25ab8d9b-6f38-4e9a-8736-492e59e2263d	appPKG007-Com1-492e59e2263d	0	0	1074118656	59691008	1	NaN	NaN	
0f090e62-57b3-4c82-b75e-0bdfefe8fe98	vedge	3880620	126388	21474836480	6899896320	4	NaN	NaN	
aaac72f0-1fe8-4ddd-91c7-0004a02dd887	VM1-0004a02dd887	0	0	10737795072	441962496	1	NaN	NaN	
d53899e4-17d1-45c3-8404-ae28f5f7f3a4	server	1015408	185688	21474836480	1735135232	1	NaN	NaN	
4b628d5b-212d-4eca-ab61-213715fdf63d	oma	1015236	88128	236223201280	226731700224	2	NaN	NaN	
675ad4b0-4c08-4e27-a841-c5f503f0a006	VM1-c5f503f0a006	0	0	10737795072	442028032	1	NaN	NaN	
e450c39e-68bf-4983-b82f-bfa09225025c	webserver-cho1-bfa09225025c	1786456	104288	21475213312	40554496	1	NaN	NaN	
25ab8d9b-6f38-4e9a-8736-492e59e2263d	appPKG007-Com1-492e59e2263d	0	0	1074118656	59691008	1	NaN	NaN	
1268c760-0d2f-4433-94ea-9c6f981e7ef2	VM1-9c6f981e7ef2	0	0	10737795072	442028032	1	NaN	NaN	
e3836de7-85de-469d-b2a2-23c6cdbf43a7	VM1-23c6cdbf43a7	0	0	10737795072	441962496	1	NaN	NaN	
dc878b79-4dd6-45b9-aef5-002a335ebde1	VM2-002a335ebde1	0	0	10737795072	442028032	1	NaN	NaN	
0f090e62-57b3-4c82-b75e-0bdfefe8fe98	vedge	3880620	126388	21474836480	6899896320	4	NaN	NaN	
9a5f50a8-f22e-4376-830e-3eb88f6aa19e	VM1-3eb88f6aa19e	0	0	10737795072	441962496	1	NaN	NaN	
58338920-bc48-4a8c-8612-381fcca30f0c	VM2-381fcca30f0c	0	0	10737795072	442028032	1	NaN	NaN	
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e	mepm	3880652	3744316	21474836480	10311180288	4	NaN	NaN	
1624dcd0-a54b-4971-99bf-4b2fe4509949	appPKG007-Com2-4b2fe4509949	0	0	1074118656	59691008	1	NaN	NaN	
9a5f50a8-f22e-4376-830e-3eb88f6aa19e	VM1-3eb88f6aa19e	0	0	10737795072	441962496	1	NaN	NaN	
58338920-bc48-4a8c-8612-381fcca30f0c	VM2-381fcca30f0c	0	0	10737795072	442028032	1	NaN	NaN	
1268c760-0d2f-4433-94ea-9c6f981e7ef2	VM1-9c6f981e7ef2	0	0	10737795072	442028032	1	NaN	NaN	
1624dcd0-a54b-4971-99bf-4b2fe4509949	appPKG007-Com2-4b2fe4509949	0	0	1074118656	59691008	1	NaN	NaN	
aaac72f0-1fe8-4ddd-91c7-0004a02dd887	VM1-0004a02dd887	0	0	10737795072	441962496	1	NaN	NaN	
d53899e4-17d1-45c3-8404-ae28f5f7f3a4	server	1015408	185688	21474836480	1735135232	1	NaN	NaN	
4b628d5b-212d-4eca-ab61-213715fdf63d	oma	1015236	88128	236223201280	226731700224	2	NaN	NaN	
e450c39e-68bf-4983-b82f-bfa09225025c	webserver-cho1-bfa09225025c	1786456	104288	21475213312	40554496	1	NaN	NaN	
dc878b79-4dd6-45b9-aef5-002a335ebde1	VM2-002a335ebde1	0	0	10737795072	442028032	1	NaN	NaN	
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e	mepm	3880652	3744316	21474836480	10311180288	4	NaN	NaN	
0f090e62-57b3-4c82-b75e-0bdfefe8fe98	vedge	3880620	126388	21474836480	6899896320	4	NaN	NaN	
675ad4b0-4c08-4e27-a841-c5f503f0a006	VM1-c5f503f0a006	0	0	10737795072	442028032	1	NaN	NaN	
25ab8d9b-6f38-4e9a-8736-492e59e2263d	appPKG007-Com1-492e59e2263d	0	0	1074118656	59691008	1	NaN	NaN	
e3836de7-85de-469d-b2a2-23c6cdbf43a7	VM1-23c6cdbf43a7	0	0	10737795072	441962496	1	NaN	NaN	

Memory info. is not collected correctly.

I start/stop kvmtop several time to verify it after check out source code and build kvmtop binary by myself.

As you see below. memory info. is not collected sometimes.

./kvmtop 
eb40b9d1 mepm     2     0     0     2952772 137456

cpu                ram              
cores    4         Total
curfreq  0.000000  Free
                   Availabl 

                  cpu               ram
UUID     name     cores total steal total   used   
dc5389f4 redmine- 2     0     0     2047556 101200
eb40b9d1 mepm     2     0     0     2952772 137456
914469ff openapig 2     0     0     2952772 133192
42de0be1 svcrepo  2     0     0     2952772 137304

Memory stats from /proc

For future container integration, the memory stats should be read from the /proc filesystem like for CPU utilisation.

--all parameter for host/domain info

It would be nice to have like an '--all' parameter passing to kvmtop that gets the following information about the domains:

[
{
"host_name": "host01",
"domains": [
{
"UUID": "321433f-...-3339494d",
"name": "instance-0000001",
"status": "RUNNING",
"networks": [
{
"em1": "192.168.20.1"
}
],
"resources": {
"cpus": 2,
"mem": 12283,
"disk": 4096
},
"statusTime": 15839393482
},
{
...
}
],
"capacity": {
"total": {
"disk": 737181,
"mem": 256839,
"cpus": 8
},
"used": {
"disk": 102344,
"mem": 128934,
"cpus": 6
}
},
"id": "01"
}
]

Use Kvmtop in 2nd Virtualization

I using Kvmtop to monitor cpu steal time. But i'm using an VM have been virtualized and i installed openstack on this VM. When i use kvmtop, cpu core and cpu steal time = 0.

Unable to Install Kvmtop On kvm-server

Hi,

Thanks for posting the wonderfull document but I am unable to install the kvmtop binary on my kvm server and facing an error which mentioned below:

I have refered many forums but i could not get an proper solution to fix the issue. Hope there is an proper solution to fix this.

Error

[root@kvm kvmtop]# go install github.com/cha87de/kvmtop

github.com/rthornton128/goncurses

/tmp/go-build971672263/github.com/rthornton128/goncurses/_obj/goncurses.o: In function ncurses_is_subwin': src/github.com/rthornton128/goncurses/goncurses.c:71: undefined reference tois_subwin'
/tmp/go-build971672263/github.com/rthornton128/goncurses/_obj/goncurses.o: In function ncurses_is_pad': src/github.com/rthornton128/goncurses/goncurses.c:63: undefined reference tois_pad'
collect2: ld returned 1 exit status

error : virNetSocketReadWire:1806 : End of file while reading data: Input/output error

When running kvmtop I see the following line in the syslog messages:

error : virNetSocketReadWire:1806 : End of file while reading data: Input/output error

The results are shown but it's spamming our syslog.
It's only when ending the kvmtop session but we run it once per minute (with the option -r1) to collect data and put it in colelctd.

[~]# kvmtop --version
kvmtop version 2.1.3

Memory collection for VM issue when qemu-guest-agent is not installed

kvmtop can't collect memory of VM correctly.
as below, some of VMs are 0 for ram_total, ram_used.

Also, I want to know meaning of ram_vsize and ram_rss. Would U let me know it ?
Is there any workaround to get ram_total / ram_used ?

UUID    name    ram_total       ram_used        ram_vsize       ram_rss ram_minflt      ram_cminflt     ram_majflt      ram_cmajflt
e450c39e-68bf-4983-b82f-bfa09225025c    webserver-cho1-bfa09225025c     1786456 104288  2793398272      529088512       0       0       0       0
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e    mepm    3880652 3759108 5093052416      4260282368      0       0       0       0
0f090e62-57b3-4c82-b75e-0bdfefe8fe98    vedge   3880620 126388  5053624320      3986751488      0       0       0       0
e3836de7-85de-469d-b2a2-23c6cdbf43a7    VM1-23c6cdbf43a7        0       0       1892118528      164352000       0       0       0       0
1268c760-0d2f-4433-94ea-9c6f981e7ef2    VM1-9c6f981e7ef2        0       0       1853149184      153837568       0       0       0       0
9a5f50a8-f22e-4376-830e-3eb88f6aa19e    VM1-3eb88f6aa19e        0       0       1892098048      154271744       0       0       0       0
4b628d5b-212d-4eca-ab61-213715fdf63d    oma     1015236 88128   1891819520      181854208       0       0       0       0
d53899e4-17d1-45c3-8404-ae28f5f7f3a4    server  1015408 185896  73912320        2920448 0       0       0       0
25ab8d9b-6f38-4e9a-8736-492e59e2263d    appPKG007-Com1-492e59e2263d     0       0       1361166336      175026176       0       0       0       0
aaac72f0-1fe8-4ddd-91c7-0004a02dd887    VM1-0004a02dd887        0       0       1876287488      188162048       0       0       0       0
675ad4b0-4c08-4e27-a841-c5f503f0a006    VM1-c5f503f0a006        0       0       1900519424      169979904       0       0       0       0
1624dcd0-a54b-4971-99bf-4b2fe4509949    appPKG007-Com2-4b2fe4509949     0       0       1324355584      143003648       0       0       0       0
dc878b79-4dd6-45b9-aef5-002a335ebde1    VM2-002a335ebde1        0       0       1891819520      181854208       0       0       0       0

58338920-bc48-4a8c-8612-381fcca30f0c    VM2-381fcca30f0c        0       0       1756024832      169889792       0       0       0       0

d53899e4-17d1-45c3-8404-ae28f5f7f3a4    server  1015408 185896  73912320        2920448 0       0       0       0
dc878b79-4dd6-45b9-aef5-002a335ebde1    VM2-002a335ebde1        0       0       1891819520      181854208       0       0       0       0
4b628d5b-212d-4eca-ab61-213715fdf63d    oma     1015236 88128   1891819520      181854208       0       0       0       0
9a5f50a8-f22e-4376-830e-3eb88f6aa19e    VM1-3eb88f6aa19e        0       0       1892098048      154271744       0       0       0       0
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e    mepm    3880652 3759108 5093052416      4260282368      447     0       0       0
675ad4b0-4c08-4e27-a841-c5f503f0a006    VM1-c5f503f0a006        0       0       1900519424      169979904       0       0       0       0
e3836de7-85de-469d-b2a2-23c6cdbf43a7    VM1-23c6cdbf43a7        0       0       1892118528      164352000       0       0       0       0
25ab8d9b-6f38-4e9a-8736-492e59e2263d    appPKG007-Com1-492e59e2263d     0       0       1361166336      175026176       0       0       0       0
0f090e62-57b3-4c82-b75e-0bdfefe8fe98    vedge   3880620 126388  5053624320      3986751488      76      0       0       0
1268c760-0d2f-4433-94ea-9c6f981e7ef2    VM1-9c6f981e7ef2        0       0       1853149184      153837568       0       0       0       0
58338920-bc48-4a8c-8612-381fcca30f0c    VM2-381fcca30f0c        0       0       1756024832      169889792       0       0       0       0
aaac72f0-1fe8-4ddd-91c7-0004a02dd887    VM1-0004a02dd887        0       0       1876287488      188162048       20      0       0       0
e450c39e-68bf-4983-b82f-bfa09225025c    webserver-cho1-bfa09225025c     1786456 104288  2793398272      529088512       0       0       0       0
1624dcd0-a54b-4971-99bf-4b2fe4509949    appPKG007-Com2-4b2fe4509949     0       0       1324355584      143003648       413     0       0       0
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e    mepm    3880652 3759108 5093052416      4260282368      162     0       0       0
aaac72f0-1fe8-4ddd-91c7-0004a02dd887    VM1-0004a02dd887        0       0       1876287488      188162048       24      0       0       0
675ad4b0-4c08-4e27-a841-c5f503f0a006    VM1-c5f503f0a006        0       0       1900519424      169979904       0       0       0       0
e450c39e-68bf-4983-b82f-bfa09225025c    webserver-cho1-bfa09225025c     1786456 104288  2793398272      529088512       0       0       0       0
d53899e4-17d1-45c3-8404-ae28f5f7f3a4    server  1015408 185896  73912320        2920448 0       0       0       0
9a5f50a8-f22e-4376-830e-3eb88f6aa19e    VM1-3eb88f6aa19e        0       0       1892098048      154271744       0       0       0       0
25ab8d9b-6f38-4e9a-8736-492e59e2263d    appPKG007-Com1-492e59e2263d     0       0       1361166336      175026176       0       0       0       0
4b628d5b-212d-4eca-ab61-213715fdf63d    oma     1015236 88128   1891819520      181854208       0       0       0       0
1268c760-0d2f-4433-94ea-9c6f981e7ef2    VM1-9c6f981e7ef2        0       0       1853149184      153837568       0       0       0       0
0f090e62-57b3-4c82-b75e-0bdfefe8fe98    vedge   3880620 126388  5053624320      3986751488      24      0       0       0
dc878b79-4dd6-45b9-aef5-002a335ebde1    VM2-002a335ebde1        0       0       1891819520      181854208       0       0       0       0
58338920-bc48-4a8c-8612-381fcca30f0c    VM2-381fcca30f0c        0       0       1756024832      169959424       75      0       0       0
e3836de7-85de-469d-b2a2-23c6cdbf43a7    VM1-23c6cdbf43a7        0       0       1892118528      164352000       0       0       0       0
1624dcd0-a54b-4971-99bf-4b2fe4509949    appPKG007-Com2-4b2fe4509949     0       0       1324355584      143003648       229     0       0       0
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e    mepm    3880652 3759108 5093052416      4260282368      1096    0       0       0
1268c760-0d2f-4433-94ea-9c6f981e7ef2    VM1-9c6f981e7ef2        0       0       1853149184      153837568       0       0       0       0
58338920-bc48-4a8c-8612-381fcca30f0c    VM2-381fcca30f0c        0       0       1756024832      169959424       0       0       0       0
9a5f50a8-f22e-4376-830e-3eb88f6aa19e    VM1-3eb88f6aa19e        0       0       1892098048      154271744       0       0       0       0
e450c39e-68bf-4983-b82f-bfa09225025c    webserver-cho1-bfa09225025c     1786456 104288  2793398272      529088512       0       0       0       0
1624dcd0-a54b-4971-99bf-4b2fe4509949    appPKG007-Com2-4b2fe4509949     0       0       1324355584      143003648       0       0       0       0
dc878b79-4dd6-45b9-aef5-002a335ebde1    VM2-002a335ebde1        0       0       1891819520      181854208       0       0       0       0
4b628d5b-212d-4eca-ab61-213715fdf63d    oma     1015236 88128   1891819520      181854208       0       0       0       0
aaac72f0-1fe8-4ddd-91c7-0004a02dd887    VM1-0004a02dd887        0       0       1876287488      188162048       0       0       0       0
d53899e4-17d1-45c3-8404-ae28f5f7f3a4    server  1015408 185896  73912320        2920448 0       0       0       0
25ab8d9b-6f38-4e9a-8736-492e59e2263d    appPKG007-Com1-492e59e2263d     0       0       1361166336      175026176       0       0       0       0
675ad4b0-4c08-4e27-a841-c5f503f0a006    VM1-c5f503f0a006        0       0       1900519424      169979904       0       0       0       0
0f090e62-57b3-4c82-b75e-0bdfefe8fe98    vedge   3880620 126388  5053624320      3986751488      2       0       0       0
e3836de7-85de-469d-b2a2-23c6cdbf43a7    VM1-23c6cdbf43a7        0       0       1892118528      164352000       0       0       0       0
1268c760-0d2f-4433-94ea-9c6f981e7ef2    VM1-9c6f981e7ef2        0       0       1853149184      153837568       0       0       0       0
dc878b79-4dd6-45b9-aef5-002a335ebde1    VM2-002a335ebde1        0       0       1891819520      181854208       0       0       0       0
58338920-bc48-4a8c-8612-381fcca30f0c    VM2-381fcca30f0c        0       0       1756024832      169959424       6       0       0       0
25ab8d9b-6f38-4e9a-8736-492e59e2263d    appPKG007-Com1-492e59e2263d     0       0       1361166336      175026176       0       0       0       0
e450c39e-68bf-4983-b82f-bfa09225025c    webserver-cho1-bfa09225025c     1786456 104288  2793398272      529088512       0       0       0       0
292c7b76-93c4-4cc7-879a-f7c0ba84ad7e    mepm    3880652 3759108 5093052416      4260282368      20      0       0       0
0f090e62-57b3-4c82-b75e-0bdfefe8fe98    vedge   3880620 126388  5053624320      3986751488      0       0       0       0
d53899e4-17d1-45c3-8404-ae28f5f7f3a4    server  1015408 185896  73912320        2920448 0       0       0       0
4b628d5b-212d-4eca-ab61-213715fdf63d    oma     1015236 88128   1891819520      181854208       0       0       0       0
9a5f50a8-f22e-4376-830e-3eb88f6aa19e    VM1-3eb88f6aa19e        0       0       1892098048      154271744       0       0       0       0
e3836de7-85de-469d-b2a2-23c6cdbf43a7    VM1-23c6cdbf43a7        0       0       1892118528      164352000       0       0       0       0
1624dcd0-a54b-4971-99bf-4b2fe4509949    appPKG007-Com2-4b2fe4509949     0       0       1324355584      143003648       8       0       0       0
aaac72f0-1fe8-4ddd-91c7-0004a02dd887    VM1-0004a02dd887        0       0       1876287488      188162048       1       0       0       0
675ad4b0-4c08-4e27-a841-c5f503f0a006    VM1-c5f503f0a006        0       0       1900519424      169979904       0       0       0       0

kvmtop deb reports host cores incorrectly

kvmtop_2.1.2_linux_amd64.deb (with 1 VM running using kvmtop --cpu --printer=json) erroneously returns:
{ "host": {"cpu_cores": 10,"cpu_curfreq": 2153.284888}, "domains": [{"UUID": "ea9e09b7-540a-45e7-9276-0429b6a429e6","name": "debian8","cpu_cores": 2,"cpu_total": 0,"cpu_steal": 0}]}

kvmtop container (either latest or master) correctly returns:
{ "host": {"cpu_cores": 32,"cpu_curfreq": 2328.310028}, "domains": [{"UUID": "ea9e09b7-540a-45e7-9276-0429b6a429e6","name": "debian8","cpu_cores": 2,"cpu_total": 0,"cpu_steal": 0}]}

The host DOES have 32 cores not 10.

I have not been able to build your source code to debug but from the code it looks like parsing /proc/cpuinfo is somehow failing

Host memory is not collected.

Hi.

I set new machine in lab env. There are no active VM in KVM. At that time ram information for Host is not collected.

$ kvmtop --cpu --mem --printer=json
{ "host": {"ram_Total": "","ram_Free": "","ram_Available": "","cpu_cores": 10,"cpu_curfreq": 0.000000}, "domains": []}
{ "host": {"ram_Total": "","ram_Free": "","ram_Available": "","cpu_cores": 10,"cpu_curfreq": 0.000000}, "domains": []}
{ "host": {"ram_Total": "","ram_Free": "","ram_Available": "","cpu_cores": 10,"cpu_curfreq": 0.000000}, "domains": []}
{ "host": {"ram_Total": "","ram_Free": "","ram_Available": "","cpu_cores": 10,"cpu_curfreq": 0.000000}, "domains": []}
{ "host": {"ram_Total": "","ram_Free": "","ram_Available": "","cpu_cores": 10,"cpu_curfreq": 0.000000}, "domains": []}
{ "host": {"ram_Total": "","ram_Free": "","ram_Available": "","cpu_cores": 10,"cpu_curfreq": 0.000000}, "domains": []}
{ "host": {"ram_Total": "","ram_Free": "","ram_Available": "","cpu_cores": 10,"cpu_curfreq": 0.000000}, "domains": []}

If I check with virsh command, result is as below.

virsh nodememstats

total : 197639624 KiB
free : 124508044 KiB
buffers: 2136 KiB
cached : 53727560 KiB

kvmtop fails when libvirt runs in other pid namespace

When libvirt runs e.g. inside a container, the process IDs for VM cores are different. Libvirt when returns the PIDs from inside the container when running the info cpus command via QemuMonitorCommand.

Solution: classify VM's tasks as CPU cores or other task from the /proc filesystem instead.

json printer generates invalid json string

Using version 2.0.1

kvmtop --cpu --printer=json -r1

generates a json string with commas at the end of each object/array

[{"UUID": "655a9721-93c0-4d12-9c25-02de775ac863","name": "test","cpu_cores": "4","cpu_total": "","cpu_steal": "","cpu_other_total": "","cpu_other_steal": "",},]

Extend HOST metrics: CPU util, Disk usage, system uuid

Hi.

Thanks for quick fix and release.
kvmtop is good solution for me. It is very helpful.

I want to ask enhancement of several feature for "--host", If possible.
Would U enhance below feature of package( at least 3 ) ?

  1. "CPU utilization for Host" (cat /proc/stat )
  2. "Disk Usage Info for Host" ( It might be difficult. )
    3. "UUID for Host" ( dmidecode -s system-uuid )
    It might be get as below using "github.com/dselans/dmidecode"

Exception for CPU collection

Hi.

I have met one more error as below. with some VM. When I run this VM. kvmtop has downed with below error.

I want to use kvmtop in my kvm resource collector. Would you fix and release new binary ASAP ?

# kvmtop --cpu

 cpu
 cores
 meanfreq panic: runtime error: index out of range
goroutine 18 [running]:
github.com/cha87de/kvmtop/collectors/cpucollector.cpuLookup(0xc4202cbba8, 0x7fe978000b40)
/home/travis/gopath/src/github.com/cha87de/kvmtop/collectors/cpucollector/worker.go:67 +0x6b6
github.com/cha87de/kvmtop/collectors/cpucollector.(*Collector).Lookup.func1(0x8048c0, 0xc420162c20, 0x8682c0, 0xc42008f830, 0x200202a0101)
 /home/travis/gopath/src/github.com/cha87de/kvmtop/collectors/cpucollector/collector.go:19 +0x10b
sync.(*Map).Range(0xc92a68, 0x89d9e8)
/home/travis/.gimme/versions/go1.9.linux.amd64/src/sync/map.go:336 +0x150
github.com/cha87de/kvmtop/collectors/cpucollector.(*Collector).Lookup(0xc4200576e0)
/home/travis/gopath/src/github.com/cha87de/kvmtop/collectors/cpucollector/collector.go:15 +0x39
github.com/cha87de/kvmtop/runners.lookup.func2(0x8048c0, 0xc4200576f0, 0x830600, 0xc4200576e0, 0x8048c0)
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/lookup.go:65 +0x55
sync.(*Map).Range(0xc92a90, 0x89da60)
/home/travis/.gimme/versions/go1.9.linux.amd64/src/sync/map.go:336 +0x150
github.com/cha87de/kvmtop/runners.lookup()
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/lookup.go:63 +0x363
github.com/cha87de/kvmtop/runners.initializeLookup(0xc4200de000)
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/lookup.go:21 +0x54
created by github.com/cha87de/kvmtop/runners.InitializeRunners
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/runners.go:13 +0x6f
<domain type='kvm' id='9'>
  <name>oma</name>
  <uuid>4b628d5b-212d-4eca-ab61-213715fdf63d</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.5.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state='off'/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>IvyBridge-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='arat'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='ssbd'/>
    <feature policy='require' name='xsaveopt'/>
    <feature policy='require' name='pdpe1gb'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/oma.qcow2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/oma-catalog.qcow2'/>
      <backingStore/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <interface type='network'>
      <mac address='52:54:00:f3:5d:80'/>
      <source network='default' bridge='virbr0'/>
      <target dev='vnet16'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/9'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/9'>
      <source path='/dev/pts/9'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-9-oma/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='disconnected'/>
      <alias name='channel1'/>
      <address type='virtio-serial' controller='0' bus='0' port='2'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='spice' port='5907' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
      <address type='usb' bus='0' port='2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
      <address type='usb' bus='0' port='3'/>
    </redirdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

When running kvmtop as a service newly added VMs are not added to the output

We are running kvmtop as a service on our hypervisor. We gather the metrics and send them to prometheus. We noticed that when a new VM is added to the hypervisor this VM is not added to the metrics. It looks like kvmtop is not updating the list of VMs reguallary.
We run kvmtop as follow:
/usr/bin/kvmtop --disk --io --net --host --cpu --mem --verbose -p json -o file --target=////kvmtop.json --targettruncate -f 10

The --targettruncate is added in the code and a PR is open for that one.

The OS of the hypervisor is CentOS Linux release 7.9.2009 (Core)
The QEMU version is from the ovirt repo: qemu-kvm 2.12.0-44.1
The libvirt version is version 4.5.0-36

disk info for guest OS is not collected.

Hi.

Host OS : CentOS 7.3

When I add metric collector "--disk", It has shown below error.
Without "--disk" option, It is working fine.

$ kvmtop -c qemu:///system --printer json --cpu --mem --disk --net -f 1 --output=tcp --target=127.0.0.1:8343
Output will be redirected to tcp://127.0.0.1:8343
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x723601]

goroutine 18 [running]:
github.com/cha87de/kvmtop/collectors/diskcollector.diskLookup(0xc42023bb10, 0x7efc20000b20)
/home/travis/gopath/src/github.com/cha87de/kvmtop/collectors/diskcollector/worker.go:112 +0x311
github.com/cha87de/kvmtop/collectors/diskcollector.(*Collector).Lookup.func1(0x8048c0, 0xc42014c540, 0x8682c0, 0xc420075770, 0x24)
/home/travis/gopath/src/github.com/cha87de/kvmtop/collectors/diskcollector/collector.go:25 +0x11d
sync.(*Map).Range(0xc92a68, 0xc42023bcc0)
/home/travis/.gimme/versions/go1.9.linux.amd64/src/sync/map.go:336 +0x150
github.com/cha87de/kvmtop/collectors/diskcollector.(*Collector).Lookup(0xc42003f780)
/home/travis/gopath/src/github.com/cha87de/kvmtop/collectors/diskcollector/collector.go:20 +0x71
github.com/cha87de/kvmtop/runners.lookup.func2(0x8048c0, 0xc42003f790, 0x830680, 0xc42003f780, 0x804801)
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/lookup.go:65 +0x55
sync.(*Map).Range(0xc92a90, 0x89da60)
/home/travis/.gimme/versions/go1.9.linux.amd64/src/sync/map.go:336 +0x150
github.com/cha87de/kvmtop/runners.lookup()
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/lookup.go:63 +0x363
github.com/cha87de/kvmtop/runners.initializeLookup(0xc4200d0000)
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/lookup.go:21 +0x54
created by github.com/cha87de/kvmtop/runners.InitializeRunners
/home/travis/gopath/src/github.com/cha87de/kvmtop/runners/runners.go:13 +0x6f

CPU utilization for VM is not collect when I set "-f 60"

Hi.

I want to collect KVM status periodically( every 1 min ).

When I set "-f 60" It report as below. I generate traffic with stress tool almost 50% on "guest VM"
Is kvmtop didn't collect CPU utilization ?

If possible, I want to ask to add CPU utilization(/proc/stat) , UUID(dmidecode -s system-uuid) and name for HOST OS. It would be very helpful to me.

This is default frequency( maybe 1 secs)
$ kvmtop -c qemu:///system --printer json --cpu --mem --net
{
"host": {
"cpu_cores": 4,
"cpu_meanfreq": 2323.987976,
"ram_Total": 8081032,
"ram_Free": 471884,
"ram_Available": 2292192,
"net_host_receivedBytes": 0,
"net_host_transmittedBytes": 0
},
"domains": [{
"UUID": "2f21bf30-baa9-49ef-ad0a-915ed281a3bb",
"name": "centos7.0",
"cpu_cores": 2,
"cpu_total": 0,
"cpu_steal": 0,
"ram_total": 2952772,
"ram_used": 141676,
"net_receivedBytes": 0,
"net_transmittedBytes": 52
}, {
"UUID": "eb40b9d1-87e6-455d-a6b4-b27229c9652c",
"name": "mepm",
"cpu_cores": 2,
"cpu_total": 50,
"cpu_steal": 0,
"ram_total": 2952772,
"ram_used": 128508,
"net_receivedBytes": 0,
"net_transmittedBytes": 52
}
]
}

Below one is set to "-f 60"
$ kvmtop -c qemu:///system --printer json --cpu --mem --net -f 60
{
"host": {
"cpu_cores": 4,
"cpu_meanfreq": 2299.977478,
"ram_Total": 8081032,
"ram_Free": 1483408,
"ram_Available": 2504672,
"net_host_receivedBytes": 6028,
"net_host_transmittedBytes": 1940
},
"domains": [{
"UUID": "2f21bf30-baa9-49ef-ad0a-915ed281a3bb",
"name": "centos7.0",
"cpu_cores": 2,
"cpu_total": 237,
"cpu_steal": 1,
"ram_total": 2952772,
"ram_used": 141676,
"net_receivedBytes": 0,
"net_transmittedBytes": 26
}, {
"UUID": "eb40b9d1-87e6-455d-a6b4-b27229c9652c",
"name": "mepm",
"cpu_cores": 2,
"cpu_total": 183219,
"cpu_steal": 55,
"ram_total": 2952772,
"ram_used": 128508,
"net_receivedBytes": 6172,
"net_transmittedBytes": 1970
}
]
}

Do I need any calculation when I set "-f" ?

When TCP connection loss, Process is terminated.

kvmtop output set to TCP(to logstash), when I restart logstash, kvmtop is lost tcp connection and terminate process. It would be good to retry TCP connection when logstash is alive.

When kvmtop is working on system service, TCP connection retry shall be required.

kvmtop ncurses printer error when running without any collector

Hi.

I install kvmtop rpm on my host.

When I execute it has shown error, It doesn't work properly.

$ kvmtop

panic: runtime error: index out of range

                                     goroutine 9 [running]:
                                                           github.com/cha87de/kvmtop/printers.sortDomainIDsByField(0xc4201e0000, 0x3, 0x0, 0x0, 0x1)
                                                            /home/travis/gopath/src/github.com/cha87de/kvmtop/printers/ncurses.go:185 +0x2cd
                                             github.com/cha87de/kvmtop/printers.printDomain(0xc4201e6010, 0xc4201de000, 0x2, 0x2, 0xc4201e0000, 0x3)
                                                            /home/travis/gopath/src/github.com/cha87de/kvmtop/printers/ncurses.go:161 +0x597
                                             github.com/cha87de/kvmtop/printers.(*NcursesPrinter).Screen(0xc4200116c0, 0x0, 0x0, 0x0, 0xc4201de000, 0x2, 0x2, 0x0, 0x0, 0x0, ...)
                                                                                    /home/travis/gopath/src/github.com/cha87de/kvmtop/printers/ncurses.go:61 +0x17c
                                                                    github.com/cha87de/kvmtop/runners.handleRun()
                    /home/travis/gopath/src/github.com/cha87de/kvmtop/runners/printer.go:74 +0x869
   github.com/cha87de/kvmtop/runners.initializePrinter(0xc420015cd0)
                                                                            /home/travis/gopath/src/github.com/cha87de/kvmtop/runners/printer.go:27 +0x88
                                                          created by github.com/cha87de/kvmtop/runners.InitializeRunners
                            /home/travis/gopath/src/github.com/cha87de/kvmtop/runners/runners.go:15 +0xb3

"runtime error" in batch mode on empty hypervisor

# ./kvmtop -batch
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x4c1eb9]

goroutine 1 [running]:
github.com/rthornton128/goncurses.(*Window).MovePrintf(0x0, 0x1, 0x0, 0x572a20, 0x2, 0xc82006d928, 0x1, 0x1)
    /home/travis/gopath/src/github.com/rthornton128/goncurses/window.go:413 +0xa9
github.com/rthornton128/goncurses.(*Window).MovePrint(0x0, 0x1, 0x0, 0xc82006da70, 0x1, 0x1)
    /home/travis/gopath/src/github.com/rthornton128/goncurses/window.go:404 +0x140
main.updateVirtualMachineLists()
    /home/travis/gopath/src/github.com/cha87de/kvmtop/kvmtop.go:58 +0x353
main.initialize()
    /home/travis/gopath/src/github.com/cha87de/kvmtop/kvmtop.go:238 +0x6aa
main.main()
    /home/travis/gopath/src/github.com/cha87de/kvmtop/kvmtop.go:257 +0x333

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1696 +0x1

goroutine 5 [syscall]:
os/signal.loop()
    /usr/local/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
    /usr/local/go/src/os/signal/signal_unix.go:28 +0x37

goroutine 6 [select, locked to thread]:
runtime.gopark(0x5b7730, 0xc82004a728, 0x5752c0, 0x6, 0x439018, 0x2)
    /usr/local/go/src/runtime/proc.go:185 +0x163
runtime.selectgoImpl(0xc82004a728, 0x0, 0x18)
    /usr/local/go/src/runtime/select.go:392 +0xa64
runtime.selectgo(0xc82004a728)
    /usr/local/go/src/runtime/select.go:212 +0x12
runtime.ensureSigM.func1()
    /usr/local/go/src/runtime/signal1_unix.go:227 +0x353
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1696 +0x1

goroutine 7 [chan receive]:
main.initialize.func1(0xc820016120)
    /home/travis/gopath/src/github.com/cha87de/kvmtop/kvmtop.go:198 +0x36
created by main.initialize
    /home/travis/gopath/src/github.com/cha87de/kvmtop/kvmtop.go:200 +0x1ea

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.