hyperhq / hyperstart

The tiny Init service for HyperContainer
https://www.hypercontainer.io
Apache License 2.0
134 stars 63 forks source link

cannot find vsock device #347

Open gogolxdong opened 6 years ago

gogolxdong commented 6 years ago

cannot find vsock device scan /sys/class/virtio-ports/ failed: No such file or directory cannot find ctl channel fail to setup hyper serial channel

bergwolf commented 6 years ago

vsock device probing is adaptive and its failure does not affect hyperstart starting up. The issue here is missing serial port.

@gogolxdong can you please describe a bit how you got the error? Namingly,

  1. Which hypervisor are you using?
  2. Are you running with runv directly or using hyperd?
  3. Please paste all console logs
gogolxdong commented 6 years ago

Using default qemu hypervisor with hyperd ,whole console logs is the result of running hyperstart. It seems working now , don't know where is the trick. Another concern is the tty console allocated seems fixed height and width not adjusting to the host console enough.

bergwolf commented 6 years ago

@gogolxdong are you running without kvm support? We used to see a similar issue on travis and it was related to guest clock drifting.

gogolxdong commented 6 years ago

With kvm support. I found another issue which result in hyperctl ERROR: Error from daemon's response: hyperstart closed once specified cpu exceed 8 cores and performance test via wrk -t12 -c400 -d30s http://192.168.123.2 didn't improve linearly as cpu cores increased from 4 to 8 and memory from 8192 to 10240 as expected.

bergwolf commented 6 years ago

@gogolxdong Current max cpu is 8 and it is hard coded in both hyperstart and runv right now.

gogolxdong commented 6 years ago

Is it necessary to set CONFIG_NR_CPUS=8 ,will it be unlimited and how ? How to explain performance didn't imporve as cpu cores increased from 4 to 8 and memory from 8192 to 10240 as expected ,not linearly but it's even or a little worse.

bergwolf commented 6 years ago

also DefaultMaxCpus in runv. Then you'll need to build your self a kernel and build hyperd.

Performance depends on many things not just cpu and memory. More CPU can mean more lock contentions and cache line bouncing for your test program.