然后在master
Console 执行Q?GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO 'slaver1'@'127.0.0.1' IDENTIFIED BY 'slaver1pwd';
开一个新账号Q用户名Qslaver1 密码Qslaver1pwdQƈ赋于权限
q行Mysqld.exe,q创建新数据库test1,可在Console下输入:show master status\G查看状态!
*************************** 1. row*****************
File: mysql-bin.000305
Position: 98
Binlog_Do_DB: test1
Binlog_Ignore_DB:
q行Slaver 的Mysqld.exe,在ConsoleH口执行 show slave status\G 查看状态,如下Q?/p>
W二U:怹保存区域溢出
PermGen space的全U是Permanent Generation space,是指内存的永久保存区域。这一部分用于存放Class和Meta的信?Class在被 Load的时候被攑օPermGen space区域Q它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你的APP会LOAD很多CLASS的话,很可能出现PermGen space错误。这U错误常见在web服务器对JSPq行pre compile的时候。但目前的hibernate和spring目中也很容易出现这L问题?a >http://www.javaeye.com/topic/80620?page=1 的帖子有讨论的这个问题。可能是׃q些框架会动态classQ而且jvm的gc是不会清理PemGen space的,D内存溢出?br /> q一个一般是加大-XX:PermSize -XX:MaxPermSize 来解决问题?br /> -XX:PermSize 怹保存区域初始大小
-XX:PermSize 怹保存区域初始最大?br /> q一般结合第一条用,比如 set JAVA_OPTS= -Xms1024m -Xmx1024m -XX:PermSize=128M -XX:PermSize=256M
有一炚w要注意:java -Xmx***M version 命o来测试的最大堆内存?-Xmx?-XX:PermSize?? 比如pȝ支持最大的jvm堆大事1.5GQ那 -Xmx1024m -XX:PermSize=768M 是无法运行的?/p>
W三U:无法创徏新的U程?br /> q种现象比较见Q也比较奇怪,主要是和jvm与系l内存的比例有关?br /> q种怪事是因为JVM已经被系l分配了大量的内?比如1.5G)Qƈ且它臛_要占用可用内存的一半。有人发玎ͼ在线E个数很多的情况下,你分配给JVM的内存越多,那么Q上q错误发生的可能性就大?/p>
产生q种现象的原因如下(从这个blog中了解到原因Qhttp://hi.baidu.com/hexiong/blog/item/16dc9e518fb10c2542a75b3c.htmlQ:
每一?2位的q程最多可以?G的可用内存,因ؓ另外2G被操作系l保留。这里假设?.5GlJVMQ那么还余下500M可用内存。这500M?存中的一部分必须用于pȝdll的加载,那么真正剩下的也许只?00MQ现在关键的地方出现了:当你使用Java创徏一个线E,在JVM的内存里也会?Z个Thread对象Q但是同时也会在操作pȝ里创Z个真正的物理U程(参考JVM规范)Q操作系l会在余下的400兆内存里创徏q个物理U程Q而不 是在JVM?500M的内存堆里创建。在jdk1.4里头Q默认的栈大是256KBQ但是在jdk1.5里头Q默认的栈大ؓ1M每线E,因此Q在??00M的可用内存里Ҏ们最多也只能创徏400个可用线E?/p>
q样l论出来了Q要惛_建更多的U程Q你必须减少分配lJVM的最大内存。还有一U做法是让JVM宿主在你的JNI代码里边?/p>
l出一个有兌够创建线E的最大个数的估算公式Q?/p>
(MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads
对于jdk1.5而言Q假设操作系l保?20M内存Q?br /> 1.5GB JVM: (2GB-1.5Gb-120MB)/(1MB) = ~380 threads
1.0GB JVM: (2GB-1.0Gb-120MB)/(1MB) = ~880 threads
?000/XP/2003的boot.ini里头有一个启动选项Q好像是Q?span style="color: #339966;">/PAE /3G Q可以让用户q程最大内存扩充至3GQ这时操作系l只能占用最?G的虚存。那样应该可以让JVM创徏更多的线E?br /> 因此q种情况需要结合操作系l进行相兌整?/p>
因此Q我们需要结合不同情况对tomcat内存分配q行不同的诊断才能从Ҏ上解决问题?/p>
参考资料(从这些资料中受益良多Q:
http://www.javaeye.com/topic/80620?page=1
http://ggmm.blog.sohu.com/117545379.html
http://hi.baidu.com/hexiong/blog/item/16dc9e518fb10c2542a75b3c.html
http://www.wujianrong.com/archives/2006/12/javalangoutofmemoryerror_permg.html
from:http://www.aygfsteel.com/george/archive/2009/08/18/291579.html