分页: 1 / 1

[讨论]交换分区基本已废

发表于 : 2008-06-08 9:43
mifen
经过一段时间的观察,发现交换分区一直是0,基本上从来没有用到。。。
这阵子我的eclipse老是因为内存溢出而挂掉,想想2g的内存加1g的交换分区竟然跑不了eclipse而挂掉比较郁闷。。。
后来还是加了2句
-XX:PermSize=64M
-XX:MaxPermSize=128M
才解决问题。
我在win下跑eclipse一般物理内存会耗个200来M,虚拟内存会耗个300来M,在ubuntu下直接耗掉400-500M物理内存。
交换分区基本无用,形同虚设。。。
不知道交换分区在何时才能派上用场?等我的物理内存耗光为止吗?。。。

Re: [讨论]交换分区基本已废

发表于 : 2008-06-08 9:55
冲浪板
mifen 写了:经过一段时间的观察,发现交换分区一直是0,基本上从来没有用到。。。
这阵子我的eclipse老是因为内存溢出而挂掉,想想2g的内存加1g的交换分区竟然跑不了eclipse而挂掉比较郁闷。。。
后来还是加了2句
-XX:PermSize=64M
-XX:MaxPermSize=128M
才解决问题。
我在win下跑eclipse一般物理内存会耗个200来M,虚拟内存会耗个300来M,在ubuntu下直接耗掉400-500M物理内存。
交换分区基本无用,形同虚设。。。
不知道交换分区在何时才能派上用场?等我的物理内存耗光为止吗?。。。
0?是0那你怎么用的?
这样才是用了的:

$free
total used free shared buffers cached
Mem: 126644 120352 6292 68 6584 61732
-/+ buffers/cache: 52036 74608
Swap: 265032 65304 199728

发表于 : 2008-06-08 9:55
xiooli
你算是说对了,linux都是优先使用物理内存的。

发表于 : 2008-06-08 10:10
mifen
:~$ free
total used free shared buffers cached
Mem: 1933856 1590868 342988 0 73196 643496
-/+ buffers/cache: 874176 1059680
Swap: 979924 0 979924

发表于 : 2008-06-08 10:36
mawith
难道你想把物理内存藏着掖着。。而去用虚拟内存么?

发表于 : 2008-06-08 11:00
hethe
mawith 写了:难道你想把物理内存藏着掖着。。而去用虚拟内存么?
win用户都喜欢这样

发表于 : 2008-06-08 11:03
ttand
第一次听说 eclipse由于大内存挂了的 :lol:

发表于 : 2008-06-08 11:18
冲浪板
空口无凭,free一下看看

发表于 : 2008-06-09 10:54
mifen
昨天和今天eclipse 3.3又挂了好几次,问题还没有解决。。。
我的eclipse大插件有cdt,wtp等,eclipse.ini文件如下:
-showsplash
org.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms64m
-Xmx512m
-XX:PermSize=64M
-XX:MaxPermSize=256M
-XX:+UseParallelGC

log最近一次如下:
!ENTRY org.eclipse.jface 2 0 2008-06-09 10:37:51.140
!MESSAGE Ignored reentrant call while viewer is busy. This is only logged once per viewer instance, but similar calls will still be ignored.
!STACK 0
java.lang.RuntimeException
at org.eclipse.jface.viewers.ColumnViewer.isBusy(ColumnViewer.java:79)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:540)
at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:297)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$4.run(PackageExplorerContentProvider.java:878)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runUpdates(PackageExplorerContentProvider.java:171)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.executeRunnables(PackageExplorerContentProvider.java:133)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.elementChanged(PackageExplorerContentProvider.java:122)
at org.eclipse.jdt.internal.core.DeltaProcessor$3.run(DeltaProcessor.java:1552)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1542)
at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta(DeltaProcessor.java:1377)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1353)
at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:1916)
at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:368)
at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:282)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:276)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:148)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:311)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1018)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1806)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:785)
at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4519)
at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:69)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2220)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1546)
at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1571)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2558)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1848)
at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:395)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:249)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:235)
at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:190)
at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:1717)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getPackageFragmentRoots(PackageExplorerContentProvider.java:291)
at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getChildren(StandardJavaElementContentProvider.java:179)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildren(PackageExplorerContentProvider.java:274)
at org.eclipse.jdt.internal.ui.navigator.JavaNavigatorContentProvider.getChildren(JavaNavigatorContentProvider.java:134)
at org.eclipse.jdt.ui.StandardJavaElementContentProvider.hasChildren(StandardJavaElementContentProvider.java:237)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.hasChildren(SafeDelegateTreeContentProvider.java:107)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.hasChildren(SafeDelegateTreeContentProvider.java:292)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.hasChildren(NavigatorContentServiceContentProvider.java:662)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2017)
at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:575)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2047)
at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:2671)
at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.java:835)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:807)
at org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonViewer.java:150)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:781)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:755)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:627)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1463)
at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:816)
at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1446)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1368)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:390)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1330)
at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1435)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:251)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1606)
at org.eclipse.ui.navigator.CommonNavigator.createPartControl(CommonNavigator.java:175)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:370)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:227)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.WorkbenchPage$ActivationList.setActive(WorkbenchPage.java:4080)
at org.eclipse.ui.internal.WorkbenchPage$17.runWithException(WorkbenchPage.java:3145)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801)
at org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)


at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)

我free的结果如下:
total used free shared buffers cached
Mem: 1933856 1820556 113300 0 98944 625680
-/+ buffers/cache: 1095932 837924
Swap: 979924 0 979924

我的系统监视器截屏如下:

发表于 : 2008-06-09 11:14
yaska
$ free
total used free shared buffers cached
Mem: 905316 668812 236504 0 2976 439772
-/+ buffers/cache: 226064 679252
Swap: 345356 0 345356

物理内存比交换分区速度快很多多多多多多多多多...........................

发表于 : 2008-06-09 11:16
HuntXu
难道要先用硬盘做快速存储...然后才是内存... :shock:

发表于 : 2008-06-09 11:36
mifen
给你一袋香蕉难道你每次能吃多少就吃多少吗?不会吧
应该适量吃。假如碰到一个很饿很需要食物的人,你就不需要再去很慢的商店买了,能立即给他人一解饥肠。
我现在被eclipse搞的郁闷,老挂。。。好像不是内存的原因了。。。