免费论文网 首页

虚拟机物理内存不足

时间:2017-05-17 07:37 来源:免费论文网

篇一:一个Linux虚拟机上Oracle数据库磁盘空间不足的解决办法

问题描述:近日需要将测试数据库中的数据全部导出然后导入本地安装在linux虚拟机中的Oracle中,由于当时划给linux的磁盘空间只有8GB,现在剩余空间不足500MB,而从测试库导出的dmp文件有2GB多,这显然磁盘空间是不够的

解决办法:在linux虚拟机上再追加硬盘,分区格式化后,挂载到文件系统,然后把表空间指定到新的文件系统,再导入就ok啦,具体步骤如下:

1. 追加硬盘

关闭VM中的Linux操作系统,然后点击“编辑虚拟机设置”,然后追加一块硬盘(我试过了,好像追加的硬盘不能超过4GB,我追加了一块3.5GB的)

2. 给追加的硬盘分区并格式化

a. 启动VM中的Linux

b. 假定Linux中已经有一块硬盘/dev/sda,那么新增一块硬盘就是/dev/sdb,再增加一块就是/dev/sdc ...... 以此类推,

c. 以root用户登录

d. 使用 fdisk 命令对硬盘进行分区

fdisk /dev/sdb

p 打印分区表

t 转换分区表

w 写进分区表

n 新建分区 (最多4个主分区,第一个分区是/dev/sdb1,第二个是/dev/sdb2 ...... 以此类推)

d 删除分区

v 检查分区

e. 对新建的分区格式化

mkfs - 支持ext2,ext3,vfat,msdos,jfs,reiserfs等

用法1:mkfs -t

例:#mkfs -t ext3 /dev/sdb1

用法2:mkfs.

例:#mkfs.vfat /dev/sdb1

mke2fs-支持ext2/ext3文件系统

用法:mke2fs [-j]

例:#mke2fs -j /dev/sdb1

注: mke2fs加上-j的话,意思是加日志,就是ext3的分区。

3. 把追加的硬盘挂载到文件系统

mount /dev/sdb1 /oracledata

注: /oracledata目录要预先建好,如果前面的操作都成功了 df -am 命令就可以看到新挂载的硬盘了,这时候就可以正常使用了

4. 启动Oracle,删除原有表空间,假设表空间名是:TEST,sql如下:

drop tablespace TEST including contents and datafiles;

5. 在新硬盘上建立表空间

create tablespace TEST datafile '/oracledata/test.dbf' size 5m autoextend on next 10m maxsize unlimited;

6. 导入数据

imp pcrs/[email protected]:1521/pcrs full=y file=D:\pcrs0918.dmp ignore=y

注意:exp的源数据库的表空间应该和TEST一致 表空间是可以指定多个存储文件的,

如果上例中新挂的/dev/sdb1也用完了,可以按照前面的步骤再挂载一块硬盘到文件系统,假设新挂载:

C代码

mount /dev/sdc1 /oracledata2

mount /dev/sdc1 /oracledata2

那么可以再给TEST表空间追加新的存储文件,假设叫做/oracledata2/test2.dbf,sql如下: Sql代码

alter tablespace TEST add datafile '/oracledata2/test2.dbf' size 5m autoextend on next 10m maxsize unlimited;

alter tablespace TEST add datafile '/oracledata2/test2.dbf' size 5m autoextend on next 10m maxsize unlimited;

ps:如果想让linux每次启动时自动挂载新硬盘,可以vi编辑 ' /etc/fstab ' 文件,在该文件末尾追加:

C代码

/dev/sdb1/oracledataext3 defaults0 0

/dev/sdc1/oracledata2 ext3 defaults0 0

篇二:关于性能测试中使用物理机和虚拟机的区别

关于性能测试中使用物理机和虚拟机的区别

需要说明的情况,以下对比表格主要针对性能测试:

举例的物理机和虚拟机的数值 CPU 2Ghz 内存 4GB 网卡 100M 硬盘 200G

虚拟机所在的物理机器称之为“宿主机”,单独的物理机和虚拟机是在数值等同的情况下进行以下比对:

其他:

VM实现:

VMware 虚拟化的工作原理是,直接在计算机硬件或主机操作系统上面插入一个精简的软件层,用软件模拟计算机软硬件环境,占用物理机本身的资源,将这部分资源“硬件化”--划分了一个特定的可以格式化的分区,在其中包含cpu的应用资源、内存、硬盘、网络资源等等,建立完整的运行环境。

1,虚拟机的CPU实现:

由于虚拟机是基于一个软件层实现的,CPU的处理能力实际上是物理机进程调度虚拟机组件来实现的,虚拟机的CPU取决于宿主机的CPU分配。

2,虚拟机的内存分配:

无论怎样分配,推荐的内存的大小值不能超过所在的物理宿主机的内存,而且物理机的内存动态调整会直接影响到虚拟机的内存使用率;如果内存值大于宿主机的物理内存值,最终还是会导致宿主机本身在内存和硬盘间调度。

同时,虚拟机的内存实际使用率低于虚拟机的内存分配值,仍有一部分用于虚拟机的运作-以上两个原因决定了虚拟机的内存值是一个时刻变动的动态值,并且在物理机内存恶化的情况下,表现更糟糕。

3,虚拟机的网络使用: 1.桥接Bridge

bridge方式里面,就是利用网卡的这种功能为每一个VM分配一个外网的IP;每个VM在网络上的地位与宿主机是对等的。可认为每一个VM都是一个网络上的物理机。

2. Host only

第3种的NAT方式实际上是在这种方式上加了一个功能而已(增加一项NAT服务)。host only 用的是vmnet1,它包括两个组件,一个虚拟的网卡(Host Virtual Adapter),一个网拟的交换机(Virtual Switch),虚拟的网卡自动连到这个交换机上。Host Virtual Adapter和各个虚拟机的网卡一起已经组成了一个局域网,而且Host Virtual Adapter所在的宿主机还有一个网卡(物理网卡)连接着外网—不过这个宿主机上的两个网卡间不能通信。虚拟网卡不能和物理网卡通讯,导致了VM不能访问外网,但通过Host Virtual Adapter,VM们可以访问host,所以叫做 host only。 另外,让VM们能够访问外网的方法:

把host 配置成一个简单的NAT服务器:在Windows XP 下使用的方法:打开网络连接,右击物理网卡的连接,属性,高级,找到 Internet Connection Sharing(ICS),勾选,VMware默认装了两个网卡:vmnet1和。确定vmnet1共享物理网卡的IP,XP会弹出一个对话框,提示再用共享文件--使用ICS后,不能在局域网里共享文件---系统会将vmnet1上的 Host Virtual Adapter的IP设为 192.168.0.1,未提供DHCP,将VM的IP静态地设为192.168.0.x,网关设成Host Virtual Adapter(192.168.0.1),VM们的DNS也要设置成静态的,最好设置成宿主机的DNS。

篇三:java虚拟机内存不足,“Could not create the Java Virtual Machine”问题解决方案

大概原因,就是java堆内存不足以运行JVM,需要增加内存。

网上搜索此问题,大部分都是针对某个程序进行修改JVM内存的解决方法,比如eclipse,等。试问,若是其他程序出现问题了呢?

现在给出一个全局的java虚拟机修改内存的方法。在WIN XP,WIN 7,WIN8都可以。 解决方案:增加一个系统环境变量

变量名:_JAVA_OPTIONS

变量值:-Xmx512M

保存后,就OK!!

下面给出关于java堆内存的一个介绍,这是一个英文网页的翻译过来的。

关于java堆内存:

Java -Xmx is the configuration parameter to control the amount of memory Java uses on a system. Basically these settings are there to control the Heap memory size of Java. There are two settings related to Java heap memory:

?

? -Xmx to set the maximum heap memory size -Xms to set the minimum heap memory size

Tips to set the Java heap memory size

Managing the Java heap memory size for a server is very crucial as the whole

performance depends on this memory size, off course there are other factors which affects the performance. So let’s see how you can set these parameters to control the Java heap memory size.

Do not set -Xmx to too small value

If you set -Xmx too small for your server then your application may not work

properly and you may get Out of memory exception. So never set this too small as this is the maximum amount of memory you are allocating for Java and it cannot utilize memory beyond the set value.

It is always advisable to set -Xmx to a higher value if you have enough memory space available on your server. On the other hand if you set -Xmx value to a higher value your other resources will not be able to perform well as you have already reserved some of your memory for Java. So before setting the maximum heap size memory just check how much memory is free. To do so, stop your application server and check the free memory and accordingly you can set the maximum memory size. For example if you have 512M free memory then you can set heap memory to 300M safely i.e. -Xmx300m.

Set -Xms to a small value

If you set -Xms to higher value you might run out of memory. So always try to keep it to a small value like -Xms16m. In tomcat when you restart the server it starts a Java process and that process takes the same -Xms as the default value for the tomcat and if it is higher you may get out of memory.

Now let’s see how to set java heap memory in different servers.

How to set java heap size in Tomcat

To set the java heap size in tomcat you need to edit the catalina.sh (On Linux) or catalina.bat (On Windows) file. You can find these files inside the bin directory of tomcat. Open the appropriate file and search for CATALINA_OPTS and set the value as shown below, you can change the max and min value to whatever you want.

set CATALINA_OPTS=-Xms64m -Xmx512m

export CATALINA_OPTS=”-Xms64m -Xmx512m”

setenv CATALINA_OPTS “-Xms64m -Xmx512m”

大概翻译如下:

Java - xmx配置参数控制Java系统上使用的内存量。 基本上这些设置有控制Java堆内存的大小。 有两种设置相关的Java堆内存:

?

? - xmx设置最大的堆内存的大小 xms设置最小堆内存大小 建议设置Java堆内存大小

管理服务器的Java堆内存大小是非常重要的整个性能取决于这个内存大小,当然还有其他因素影响性能。 所以让我们来看看你可以设置这些参数来控制Java堆内存大小。 不设置- xmx太小价值

如果你为你的服务器设置- xmx太小,那么您的应用程序可能无法正常工作,你可能会得到内存不足异常。 所以不要设置过小,因为这是你们的最大内存分配为Java和它不能利用内存超出设定的值。

它 总是明智的- xmx较高的值,如果你有足够的内存空间可用的服务器上。 另一方面如果你- xmx值设置为较高的值其他资源将无法执行以及你已经保留你的一些Java内存。 所以设置最大堆大小的内存之前就检查多少内存是免费的。 为此,停止应用服务器并检查空闲内存,因此您可以设置最大的内存大小。 例如,如果你有512的空闲内存,那么你可以设置堆内存300安全即-Xmx300m。

xms设置为一个较小的值

如果你设置xms更高的值可能会耗尽内存。 所以总是试图保持它像-Xms16m一个较小的值。 在tomcat中当你重新启动服务器,启动一个Java进程,过程需要相同的xms tomcat的默认值,如果它是更高的你可能会失去记忆。

现在让我们看看如何在不同的服务器上设置java堆内存。

如何设置Tomcat java堆大小

设 置java堆大小在tomcat中您需要编辑catalina.sh(在Linux上)或catalina。 蝙蝠(在Windows上)文件。 你可以找到这些文件在tomcat的bin目录。 打开相应的文件和搜索CATALINA_OPTS和设置值如下所示,你可以改变任何你想要的最大和最小值。 设置CATALINA_OPTS = -Xms64m -Xmx512m

出口CATALINA_OPTS = " -Xms64m -Xmx512m”

setenv CATALINA_OPTS”-Xms64m -Xmx512m”


虚拟机物理内存不足
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/meiwen/40267.html
转载请保留,谢谢!
相关阅读
最近更新
推荐专题