在vmware虚拟机上调试内核

合集下载

如何调整虚拟机的计算资源分配

如何调整虚拟机的计算资源分配

虚拟机是一种通过软件模拟的计算机系统,可以在物理计算机上同时运行多个操作系统。

对于企业来说,使用虚拟机可以提高硬件利用率和运维效率。

然而,虚拟机的计算资源分配需要合理调整,以满足不同应用的需求。

本文将从虚拟机的CPU和内存资源分配两个方面,探讨如何调整虚拟机的计算资源分配。

一. CPU资源分配调整在虚拟机中,CPU是最重要的计算资源之一。

合理分配CPU资源可以提高虚拟机的性能和响应速度。

以下是几种调整虚拟机CPU资源分配的方法。

1. 虚拟CPU核心数的调整:虚拟机可以配置多个虚拟CPU核心,虚拟CPU核心数的调整对虚拟机的性能有重要影响。

当虚拟机的负载较高时,增加虚拟CPU核心数可以提高虚拟机的计算能力。

然而,在虚拟机负载较低时,过多的虚拟CPU核心数可能导致资源浪费。

因此,需要根据实际负载情况合理调整虚拟CPU核心数。

2. 虚拟CPU时钟频率的调整:除了虚拟CPU核心数的调整,虚拟机的CPU时钟频率也可以进行调整。

较高的CPU时钟频率可以提高虚拟机的计算速度,但同时也会增加CPU资源的使用率。

因此,在根据实际负载情况选择虚拟CPU时钟频率时,需要权衡计算速度和资源利用率之间的关系。

二. 内存资源分配调整虚拟机的内存资源分配对系统性能和应用运行都有重要影响。

以下是几种调整虚拟机内存资源分配的方法。

1. 内存大小的调整:虚拟机的内存分配应根据应用程序的需求和实际负载情况进行调整。

如果虚拟机的内存过小,会导致内存不足,影响系统性能甚至导致应用崩溃。

相反,如果虚拟机的内存过大,会浪费宝贵的资源。

因此,应根据应用程序的需求和实际负载情况合理调整虚拟机的内存大小。

2. 内存分配策略的调整:虚拟机的内存分配策略也会影响系统性能。

例如,可以选择将虚拟机的内存分配为固定大小,或者采用按需分配内存的方式。

前者适用于稳定的工作负载,而后者适用于变化的工作负载。

根据实际情况,选择合适的内存分配策略可以优化虚拟机的性能和资源利用率。

虚拟机中ramoops使用方法

虚拟机中ramoops使用方法

虚拟机中ramoops使用方法虚拟机中的ramoops是一种用于内核日志保存和调试的机制。

它可以将内核的日志信息保存在内存中,并在系统重启后将其导出到文件中,方便开发人员进行故障排查和调试工作。

本文将介绍虚拟机中ramoops的使用方法。

1. 确认内核配置在使用ramoops之前,需要确保内核的配置中已经打开了相关选项。

在内核配置中,找到以下选项:```CONFIG_PSTORE=yCONFIG_PSTORE_RAM=yCONFIG_PSTORE_CONSOLE=y```如果以上选项没有打开,需要重新编译内核并选择打开。

配置完成后,重新启动虚拟机。

2. 查看ramoops信息在虚拟机中,可以使用以下命令查看ramoops的相关信息:```cat /sys/fs/pstore/ramoops-0该命令可以显示ramoops的存储信息,包括大小、已使用空间等。

3. 清除ramoops信息如果需要清除ramoops中的日志信息,可以使用以下命令:```echo clear > /sys/fs/pstore/ramoops-0```该命令会将ramoops中的日志信息清空。

4. 导出ramoops日志在系统重启后,ramoops中的日志信息会被导出到文件中。

可以使用以下命令将导出的日志复制到其他位置:```cp /sys/fs/pstore/ramoops-0 /path/to/destination```将`/path/to/destination`替换为你想要保存日志的目标路径。

5. 分析ramoops日志导出的ramoops日志文件通常是二进制文件,需要使用相应的工具进行分析。

一个常用的工具是`makedumpfile`,可以使用以下命令将二进制文件转换为可读的文本文件:makedumpfile -x /path/to/ramoops-0 /path/to/destination```将`/path/to/ramoops-0`替换为导出的ramoops日志文件的路径,将`/path/to/destination`替换为你想要保存转换后文本文件的路径。

WinDBG+VMware双机内核调试环境搭建

WinDBG+VMware双机内核调试环境搭建

WinDBG+VMware双机内核调试环境搭建因为接下来要写个文件过滤驱动,要有个内核调试环境,昨天天搭了一下,比较简单,网上已有详细步骤。

vmware中装个winxp,暂且称为SlaveOS吧。

相应的我们主系统成为MasterOS。

我的步骤如下:1.先在MasterOS上装WinDbg。

在桌面建一个快捷方式,修改程序启动参数。

具体操作为右键WinDBG快捷方式-》属性。

现在的目标内容为(假设):"E:\Program Files\Debugging Tools for Windows (x86)\windbg.exe",在它后边加上-b -k com:pipe,port=\\.\pipe\com_1,resets=0,注意,红字部分加在引号外面。

确定。

2.MasterOS设置结束,接下设置vmware虚拟机。

设置虚拟机需要在SlaveOS关闭的情况下进行。

打开虚拟设置,增加一个“Serial Port",如图1:图13.下一步选择”Output to named piped".如图2:图24.虚拟机配置完毕,接下来启动SlaveOS进行配置。

打开虚拟机c:\boot.ini。

在文件末尾加上:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com_1 /baudrate=115200保存后重启。

启动菜单会新增一个debug的菜单。

如图3:图35.在上述界面按下上下箭头键。

回到MasterOS,通过快捷方式打开WinDBG,此时WinDBG会出现如下提示:Microsoft (R) Windows Debugger V ersion 6.11.0001.404 X86Copyright (c) Microsoft Corporation. All rights reserved.Opened \\.\pipe\com_1Waiting to reconnect...回到虚拟机,按下回车,windgb会显示连接信息。

VMware虚拟化配置手册

VMware虚拟化配置手册

VMware虚拟化配置手册1.服务器安装硬件要求确保主机符合 ESXi 6.0 支持的最低硬件配置。

必须具有以下硬件和系统资源,才能安装和使用 ESXi 6.0:ESXi 6.0 将仅在安装有 64 位 x86 CPU 的服务器上安装和运行。

ESXi 6.0 要求主机至少具有两个内核。

ESXi 6.0 仅支持 LAHF 和 SAHF CPU 指令。

已知的 64 位处理器:所有 AMD Opteron 处理器所有 Intel Xeon 3000/3200、3100/3300、5100/5300、5200/5400、5500/5600、7100/7300、7200/7400和 7500 处理器至少 2 GB 的内存。

一个或多个千兆或 10GB 以太网控制器。

一个或多个以下控制器的任意组合:基本 SCSI 控制器。

Adaptec Ultra-160 或 Ultra-320、LSI Logic Fusion-MPT 或者大部分 NCR/SymbiosSCSI。

RAID 控制器。

Dell PERC(Adaptec RAID 或 LSI MegaRAID)、HP Smart Array RAID 或IBM(Adaptec) ServeRAID 控制器。

SCSI 磁盘或包含未分区空间用于虚拟机的本地(非网络)RAID LUN。

ESXi 为多个 64 位客户机操作系统提供支持。

使用 64 位客户机操作系统运行虚拟机的主机有下列硬件要求:对于基于 AMD Opteron 的系统,处理器必须为 Opteron Rev E 或更高版本。

对于基于 Intel Xeon 的系统,处理器必须包括对 Intel 的 Virtualization Technology (VT) 的支持。

许多CPU 支持 VT 的服务器可能默认禁用 VT,因此必须手动启用 VT。

如果CPU 支持 VT 但在 BIOS 中看不到此选项,请联系供应商以获得可启用 VT 支持的 BIOS 版本。

VMware虚拟机及各种版本Linux操作系统安装详解

VMware虚拟机及各种版本Linux操作系统安装详解

VMware虚拟机及各种版本Linux操作系统安装详解一、启动虚拟机,如下图所示,点击“新建虚拟机”。

二、点击“下一步”,选择“自定义”,点击“下一步”,如下图所示。

三、选择“Workstation 6”,点击“下一步”。

如下图所示。

四、选择“Linux”,如果是RedHat系统,则选择RedHat Linux;如果是Ubuntu系统,则选择Ubuntu;如果是Fedora系统,版本选择“Other Linux 2.6.x kernel”。

点击“下一步”。

如下图所示。

五、虚拟机名称自定,文件存储位置自定。

点击“下一步”。

六、虚拟处理器数量一般选一个,除非你的电脑的主板上有两块CPU。

点击“下一步”。

七、在内存分配方面,Linux操作系统的KDE桌面环境比较占资源,因此最好分配256MB 的内存给虚拟机使用。

点击“下一步”。

八、接下来配置网络连接,如果有联网需要,一般选择“使用网络地址转换(NAT)”。

点击“下一步”。

如下图所示。

九、SCSI 适配器选择“LSI Logic”。

如果选择“总线”并且使用虚拟的SCSI硬盘,安装某些版本的Linux系统时会提示说找不到可用硬盘。

点击“下一步”。

如下图所示。

十、选择“创建一个新的虚拟磁盘”。

不推荐“使用一个物理磁盘”。

点击“下一步”。

如下图所示。

十一、虚拟机磁盘类型选择“SCSI”。

点击“下一步”。

如下图所示。

十二、对于Linux来说,如果不安装工具盘,则分配5.5GB的磁盘空间足矣。

点击“下一步”。

如下图所示。

十三、指定磁盘文件,一般按默认,点击“完成”开始创建磁盘文件。

完成后如下图所示。

十四、如果使用光盘镜像来安装Linux,则点击“编辑虚拟机设置”,在“硬件”标签页中点击“CD-ROM1(IDE 1:0)”,勾选右侧的“使用ISO 映象”,点击“浏览”选择ISO文件,点击“打开”即可。

如下图所示。

如果已经将ISO文件刻录成光盘,则将光盘放入光驱,点击“启动此虚拟机”,点击黑色背景的启动界面,让虚拟机捕获鼠标,按下F2键进入虚拟机的BIOS设置界面,按光标键的右箭头移到“Boot”标签页,按光标键的下箭头选择“CD-ROM Drive”,按数字键盘区的加号键将“CD-ROM Drive”移到第一位。

VMwareWorkstation安装(Linux内核)银河麒麟图文教程

VMwareWorkstation安装(Linux内核)银河麒麟图文教程

VMwareWorkstation安装(Linux内核)银河麒麟图⽂教程本⽂为⼤家分享了VMware Workstation安装银河麒麟,供⼤家参考,具体内容如下
1.下载软件:VMware Workstation Kylin-x86_64.iso(Linux内核)银河麒麟系统镜像包。

2.安装完成VMware Workstation并运⾏。

3.创建新的虚拟机。

4.选中“典型”,下⼀步。

5.安装程序光盘映像⽂件(浏览——⽂件存放路径),下⼀步。

6.虚拟机中安装操作系统选择Linux,下⼀步。

7.输⼊虚拟机名称,下⼀步。

8.默认操作,下⼀步。

9.点击“完成”。

10. 点击“开启此虚拟机”。

11.启动界⾯如下图:
12.选择“安装银河麒麟操作系统”,回车。

13.安装过程如下图:
14.经过稍长时间等待,银河麒麟系统安装完成,系统界⾯如下图:图1:
图2:
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

修复VMware虚拟机里Ubuntu编译内核之后无法启动的问题

修复VMware虚拟机里Ubuntu编译内核之后无法启动的问题

修复VMware虚拟机里Ubuntu编译内核之后无法启动的问题最近在VMware虚拟机里面安装了Ubuntu10.04,尝试修改内核代码,无奈最后一次编译连系统都启动不了,只好通过iso安装文件启动进入原来的系统进行修复。

把这个过程记录下来,以备后用。

1、在VMware虚拟机中按Ctrl+D打开“虚拟机设置”,在“硬件”设备中选择“CD/DVD (IDE)”,在“连接”中选择“使用ISO镜像文件”,选择Ubuntu的iso安装文件,“确定”。

2、重启虚拟机,在显示“VMware”文字是按下Esc键,进入“Boot Menu”,选择“Enter Setup”-”Boot“,将”CD-ROM Drive“设为第一启动项,按F10,重启。

3、系统重启后通过iso文件启动,选择语言”English“,选择”Try Ubuntu without installing“,进入系统。

4、打开终端,输入 sudo su 转换为root用户;输入fdisk -l 查看主分区是哪个,如我的是sda1;输入以下命令,将原来无法启动的系统挂载到现在的系统上;mount /dev/sda1 /mnt{mount --bind /proc /mnt/procmount --bind /dev /mnt/devmount --bind /sys /mnt/sys}可以不用输入chroot /mnt 进入到原来的系统,可以进入/home目录确认;5、和使用原来系统一样的操作(自己该干嘛干嘛去,我是需要重新编译内核:)。

如果你知道原来系统进不了是因为grub损坏的话,那么这一步就进行grub修复,具体命令如下grub-install --root-directory=/mnt /dev/sda(未尝试)6、修改完卸载之前挂载的磁盘exit 退出chrootumount /mnt7、重新启动,将启动项改为硬盘启动。

OK。

ESXi性能系列之二 虚拟机CPU优化指南

ESXi性能系列之二 虚拟机CPU优化指南

CONFIDENTIAL
10
硬件优化-参考资料
知识库文章:处理器电源管理设置导致虚拟机应用性能问题
Poor virtual machine application performance may be caused by processor power management settings (1018206) /kb/1018206
17
VMkernel-CPU指标#4’ (资源限制)
• 该虚拟机CPU利用率低,但Ready时间高,说明该虚拟机被调度到物理虚拟机的机会少;而不管主机的物理
CPU利用率还是虚拟机的CPU利用率都低说明不是由CPU计算资源竞争或者过度消耗造成。MLMTD的值高并导致 了Ready值高,说明该虚拟机是由于资源限制的配置不当造成的。
# # 3. 检查并确认开关状态 # head –n1 /vmfs/volumes/<pathtovm>/vmware.log
分析 工具
• 处 理 器 • 内 存
top,free, netstat, iostat, vmstat, systemtap, oprofile
Network
• 网 络
PowerPolicy C-stat,P-stat x2apic Perfmon HAL
4
Storage
• 存 储
Log,sed,awk, grep,rrd
vmx: tencySensitivity = "high"
3
4
5
CONFIDENTIAL 28

虚拟机配置#2”’ (调度参数4)
客户机操作系统Linux 内核配置启动参数 idle=poll, Linux操作系统在idle的时候不再向CPU发送 HALT指令,而是发送PAUSE指令,这样在唤起CPU的时候速度更快。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安装系统(在创建一个新的虚拟机时一定要用IDE硬盘)
1、在vmware上安装一个linux虚拟机(我用的软件版本:vmware 5.5, fedora 6)
从Internet下载源代码
1、linux-2.6.16
2、kgdb-2.6.16
编译内核
1、将kgdb-2.6.16补丁打到Linux内核源码里。

2、编译内核(make menuconfig, make, make modules_install, make install)
在内核配置菜单的Kernel hacking选项中选择kgdb调试项,例如:
[*] KGDB: kernel debugging with remote gdb
[*] KGDB: Console messages through gdb
Method for KGDB communication (KGDB: On generic serial port (8250)) --->
< > KGDB: On ethernet
[*] Simple selection of KGDB serial port
(115200) Debug serial port baud rate
(0) Serial port number for KGDB
3、修改grub.conf
例如:
title Fedora Core (2.6.16)
root (hd0,0)
kernel /vmlinuz-2.6.16 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.16_debug.img
改为:
title Fedora Core (2.6.16)
root (hd0,0)
kernel /vmlinuz-2.6.16 ro root=/dev/VolGroup00/LogVol00 kgdb8250=0,115200
initrd /initrd-2.6.16_debug.img
4、请检验新编译的内核是否可用。

如果不能启动,可能是编译选项没有选好(一直困扰我的问题。

实在不行就多选点)。

如果没有问题,关闭这个linux虚拟机,进入下一步。

Clone linux虚拟机(请参考vmware手册)
注:我将clone出的虚拟机命名为develop虚拟机。

将原来的linux虚拟机命名为target 虚拟机。

配置虚拟机
1、在每个虚拟机中分别添加一个串口设备,并配置成命名管道\\.\pipe\com_1
2、指定target虚拟机的串口为server端,并选择"The other end is a virtual machine"属性,对于IO mode属性,选中"Yield CPU on poll"复选择框;
3、指定develop虚拟机的串口为client端,并选择"The other end is a virtual machine"属性。

注:此时两个虚拟机都处于关机状态
避免develop虚拟机和target 虚拟机的配置冲突
启动develop虚拟机(启动不带kgdb补丁的内核境象,此时也不要启动target 虚拟机),修改与target虚拟机的配置相冲突的地方。

如ip地址,mac地址等(我只改了这两个,不知道还有没有别的。

)。

调试内核(以调试网络功能为例)
1、启动target虚拟机
2、在develop虚拟机的linux-2.6.16源代码目录下,执行下面的命令:
gdb ./vmlinux
(gdb) set remotebaud 115200
(gdb) target remote /dev/ttyS0
(gdb) break ip_rcv
(gdb) c
3、给target 虚拟机发数据包(如ping)
4、现在就像调试应用程序那样调试内核了。

Good luck。

相关文档
最新文档