如何 编译 uswap

1. 编译 uswap

  1. add youself to kvm and libvirt group
  • check what groups you already in
groups yaoxin
  • add yourself to a new group
sudo usermod -a -G examplegroup exampleusername
  1. 下载 qemu 和 uswap的代码
git clone url/to/code
  1. 修改qemuconfigure
- slirp=""
+ slirp="no"

-capstone=""
+capstone="no"
  1. 在 qemu directory下运行命令下载需要的包
git submodule update --init --recursive
  1. 运行shell进行编译
./build-uswap-and-qemu.sh
  1. 编译qemu (in qemu/build) 将qemu-system-x86_64 添加到~/code/local/bin
PREFIX=$HOME/code/local make install prefix=$HOME/code/local

2. 运行 uswap

运行 run.py 之前 需要安装 libvirtual
Usually, you only need to execute those commands after a reboot.

This starts the libvirt-related daemons.

for service in virtlockd virtlogd libvirtd ; do sudo /usr/local/sbin/"$service" 2> /var/tmp/"$service".err > /var/tmp/"$service".out &  done

This will start the default virtual network.

sudo /usr/local/bin/virsh net-start default

两种方式:

  1. 运行 /uswap_beta/benchmarks/run.py
SKIP_SETUP_SOFTWARE=1 USWAP_TESTING=0 PREFIX=~/code/local/ ./run.py
  • 出现错误 Unexpected environment. Stopping.
// 检查是否有正在运行的 server
$ ps -A | grep uswapd
3499055 pts/1    00:00:00 uswapd
3499314 pts/1    00:00:00 uswapd

// 如果有 kill it
sudo kill $(pgrep uswap)
  • benchmark_config.py
//(class name: str, num_cpus: int, mem_gb: int) * vm 的数量
vms:  [[('Mysql', 8, 32),] * 0 + [('Redis', 8, 32),] * 1]
run:  benchmark 运行的次数
bpf: log stuff
memory_limit_percent: 虚拟机的内存上线

RUNTIME_SEC: server 运行时间
  1. 直接在uswap_beta/build/apps/运行 uswap binary
./uswap path/to/uswapd.conf

sudo ./uswapd ~/code/local/etc/uswapd.conf
  • 检查当前 shell process PID
 bash -c 'echo $$' 
  • reset the process from 0
echo 1 | sudo tee /proc/sys/kernel/ns_last_pid

添加管理员权限 sebastian ALL=(ALL) NOPASSWD: ALL

sudo visudo

debug

首先启动 uswap

sudo ~/uswap_beta/build/apps/uswapd ~/uswap_beta/src/uswapd.conf

启动虚拟机

~/code/local/bin/qemu-system-x86_64 -enable-kvm -hda /tmp/vm.qcow2 -nographic -m 1024 -object memory-backend-uswap,size=1073741824,id=m0,allocator=hugetlb -numa node,memdev=m0

无法启动虚拟机 ?

kill qemu

无法启动 uswap?

kill uswap
cp /var/local/uswap-benchmark/ubuntu-*img /tmp/vm.qcow2

启动 jupyter notebook

export PATH=/home/yaoxin/.local/bin:$PATH
jupyter notebook

部署 neve KVM

 qemu-system-x86_64 -enable-kvm -hda /tmp/vm.qcow2 -nographic -m 1024 -drive file=~/vm-nvme/nvme-img/nvme.raw,if=none,id=nvm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值