网站开发 技术难点,小型企业做网站的价格,做网站犯法了 程序员有责任吗,请问哪个网站可以做当地向导一 内存的查看方式
free -k/m/h cat /proc/meminfodmesg |grep memory
free命令的实质是根据meminfo中的文件来提取信息
二 内存虚拟化
1.概念#xff1a;由于物理MMU只能通过Host机的物理地址进行寻址#xff0c;所以实现内存虚拟化#xff0c;关键是需要将Guest机的…
一 内存的查看方式
free -k/m/h cat /proc/meminfodmesg |grep memory
free命令的实质是根据meminfo中的文件来提取信息
二 内存虚拟化
1.概念由于物理MMU只能通过Host机的物理地址进行寻址所以实现内存虚拟化关键是需要将Guest机的虚拟地址GVA转换为HPA
2.内存虚拟化的作用
提供给虚拟机一个从0地址开始的连续物理内存空间GPA实现虚拟机之间有效隔离、调度及共享资源
3.术语介绍
GVA(Guest Virtual Address):客户机/虚拟机虚拟地址GPA(Guest Physical Address)客户机/虚拟机物理地址HPA(Host Physical Address)物理机物理地址
工作方式GVA--GPA-HPA的转换KVM引入一层新的地址空间GPA,该地址空间并不是真正的物理地址空间它只是HOST主机虚拟地址空间在Guest地址空间上的一个映射 新的两种内存虚拟化方式
影子页表 软件实现GVA到HPA的映射每个虚机都有一个影子页表EPT/NPT 硬件实现产生出的EPT表
影子页表与传统的转换过程对比图 EPT:intel的二代硬件虚拟化技术针对内存管理单元MMU的虚拟化扩展。相比影子页面提高了内存虚拟化的性能。NPT是AMD的。
一个EPT页表N个影子页表
VPID和TLB
VPID虚拟处理器标识提升实时迁移的效率节省迁移开销提高速度降低延迟就是标识某块物理内存属于哪台虚拟机TLB旁路转换缓冲/页表缓冲里面存放着页表文件EPT表 常用命令
grep ept /proc/cpuinfo 查看cpu是否支持EPT
grep vpid /proc/cpuinfo 查看cpu是否支持vpid
cat /sys/module/kvm_intel/parameters/ept 显示Y则ept已开启
cat /sys/module/kvm_intel/parameters/vpid 显示Y则vpid已开启
modprobe kvm_intel ept0,vpid0 关闭ept/vpid 1为开启
其他
Linux中的格式化--制作文件系统i节点、block块4K内存调用磁盘中的数据到自己的文件系统RAMFS中内存页是管理内存的单元其大小4K
查看默认内存页大小
getconf PAGESIZE 4096字节4K
三 内存技术--大页Huge Page
大页将其设为2M则称为大页内核2.6以上支持大页对大页的管理方式为管理个数因为每个页的大小固定为2M大页的优势
内存页的数量减少节约页表所占用的空间减少地址转换提高内存访问性能地址转换信息一般保存在CPU缓存中地址转换信息减少CPU负载降低
大页的劣势
不能Swap out不能使用ballooning 方式增长
为虚拟机开启大页
①查看当前系统的大页
cat /proc/meminfo |grep Huge ②开启大页方式待商榷
在主机中找到虚拟机的配置文件xml添加hugepagesyes
③挂载hugetlbfs文件系统默认系统已挂载 如果未挂载则需挂载
mount -t hugetlbfs hugetlbfs /dev/hugepages
④设置大页的数量
sysctl vm.nr_hugepages500
⑤查看大页 四 内存超配
超配方式
内存交换用swap空间来弥补气球ballooning通过virio_balloon驱动来实现宿主机Hypersion和客户机之间的协作页共享通过KSM合并多个客户机进程使用的相同内存页
注如果使用swap就要对swap进行监控最大使用率30%
swap大小的设定
2倍于真实内存适用于内存小于2G的情况真实机大于2G的情况内存大小2GRedhat官方给的方案当内存超过16G,swap给8G,当swap不够再继续添加
Swap的使用
创建swap空间的对象磁盘、分区、lv、dd出的文件mkswap、swap on/off
五 Virsh常用的命令
virsh是KVM的管理工具通过调用libvirt API来管理
virt-manager图形化管理工具virt-top :top界面只显示虚拟机所属进程virsh list :查看运行的虚拟机virsh list --all : 查看所有的虚机virsh console 虚机名 连接虚机Ctrl ] 退出虚机define xx.xml 声明虚拟机virsh start/stop/reboot 虚机名 开启/关闭/重启虚机virsh suspend/resume 虚机名挂起/恢复虚机
10.virsh autostart 虚机名 子机随母机启动而启动
11. virsh destroy 虚机名 删除虚机在列表中删除 virsh undefine 虚机名解除标记
执行上面两步才算彻底删除虚机
命令较多此处就不一一列出可help进行查看