Articles of 虚拟内存

在RHEL 5.3的/ proc / vmstat中logging这些度量的定义(分页/交换?)

这个问题涉及RHEL 5.3中/ proc / vmstat中logging的特定度量的定义。 我正在使用nmon来监视一个负载testing,其中包括模拟2500个用户在一个小时内执行一天的工作量。 最近,我看到了糟糕的performance,正在诊断和排除各种考虑。 我们在vmware ESX上运行红帽企业Linux服务器版本5.3(Tikanga)。 我专注于运行的物理服务器和Oracle应用服务器(包括Apache HTTP服务器和OC4J J2EE容器)。 我正在查看的nmon图表显示了对pswpin指标的一致分配。 总结为; 分钟= 4312; 最大= 245352; avmon = 86734.Nmon显示以“每秒千字节” 整个testing过程中以下指标为零; pswpout pgpgin pgpgout 鉴于我对分页和交换的理解,我很困惑这些度量的组合是什么意思。 我的问题: 有人可以确认这些指标代表什么? 什么样的系统行为可能会导致这种虚拟机行为? 目前我正试图排除虚拟内存问题,因为性能不佳。 编辑:我已经find了整个testing大量的fork()调用的证据。 我怀疑Apache守护进程。 但是,过程创造可能是这些指标的原因吗? 编辑:我已经添加了从nmon VM输出的典型示例。 道歉的格式不好。 预先感谢任何回应。 T0001 -1 22 -1 -1 -1 150 -1 -1 -1 5196046163 -1 0 30 100199751 3060 -1 0 […]

使用networking服务帐户共享内存做IIS应用程序池吗?

我们试图调整我们的IIS场,我试图让我的头在如何Windows分配我们当前的设置资源。 我们有一个相当标准的布局。 我们在我们的服务器上托pipe了30多个ASP / ASP.NET网站。 我们为每个站点提供各自的应用程序池,因此我们可以手动回收站点,而不会影响其他站点。 由于每个应用程序池都会产生自己的IIS工作进程(w3wp.exe),因此我假定每个进程都分配了自己的内存(即桌面堆等)。 我们开始耗尽桌面堆,因此我们build议将非交互式桌面的堆大小从512增加到1024,但是如果可以的话,我们希望更进一步。 我是否正确地认为,因为我们所有的应用程序池都使用NETWORK SERVICE帐户,只有一个桌面堆被分配给它? 如果是这样,他们的专业和服务是简单地给每个应用程序池自己的自定义用户帐户? 理论上,每个站点都有自己的内存分配,只会在EXTREME情况下耗尽。 我会在这里感谢你的智慧。 谢谢。

Windows Server:防止进程交换/分页

是否有可能阻止交换单个进程? 这个过程是一个内存数据库,不应该被移动到虚拟内存。 所有其他进程仍然应该可以交换。 我需要像SQL Server的“内存locking页面”选项。

什么是系统代码总字节数

我正在尝试使用perfmon,并根据MSDN ,“系统代码总字节”计数器… 显示当前在虚拟内存中的可分页操作系统代码的大小(以字节为单位)。 它是操作系统在不使用时可写入磁盘的物理内存量的度量。 通过添加Ntoskrnl.exe,Hal.dll,引导驱动程序和Ntldr / osloader加载的文件系统中的字节来计算此值。 该计数器不包括必须保留在物理内存中且不能写入磁盘的代码。 但是这不是一个矛盾吗? 它说这是“虚拟内存的大小”,下一句话是“正在使用的物理内存的数量”。 根据我的理解,仅仅因为存在虚拟内存并不意味着有任何物理内存映射到它,因为当没有足够的物理内存时,可以将内存分页到磁盘上的页面文件。 所以虚拟内存的大小和物理内存的大小明显不同。 另一件令我困惑的事情是“通过添加Ntoskrnl.exe,Hal.dll中的字节,引导驱动程序和Ntldr / osloader加载的文件系统来计算值”。 那么不pipe这些文件中有多less文件加载到虚拟/物理内存中,这个数字都不是一个常量? 有人能帮我理解这个柜台是什么意思吗?

IIS中的DefaultAppPool设置

对于4Gb RAM服务器和Windows 2003,我已经通过反复试验确定,将虚拟RAM限制设置为1.6似乎可以杀死失控进程,而不会导致正常进程不必要地重新启动。 支持build议1.9的公式 – 所有正在运行的进程=虚拟内存的限制,这背后有什么理论吗?

内存不足,或磁盘空间不足?

我正在运行一个数据库加载过程(osm2pgsql),这是失败的: Processing: Node(17404k 148.8k/s) Way(1351k 6.38k/s) Relation(9520 29.94/s)way_done failed: ERROR: could not extend file "base/140667/152463": No space left on device HINT: Check free disk space. (7) Arguments were: 187226311, 在导入开始时, mem报告: total used free shared buffers cached Mem: 31G 29G 2.4G 0B 178M 24G -/+ buffers/cache: 4.5G 26G Swap: 0B 0B 0B 结束前不久: total used […]

你怎么知道什么时候服务器内存需要增加?

我有一个VPS为客户运行几个网站。 运行free -h显示以下内容: ~$ free -h total used free shared buffers cached Mem: 994M 855M 138M 39M 72M 420M -/+ buffers/cache: 362M 631M Swap: 511M 0B 511M 所以我有大约138MB的可用内存。 我的问题是,你如何知道何时需要增加服务器上的物理内存量? 当它开始在一致的基础上进入交换时? 在任何时候我都有大约140-145MB的空闲空间。 这是否表示可用存储空间的总量是正常的?

使用高VIRT内存和RES的Mysql是分区的

有没有办法减lessVIRT的使用? 我不确定这么高的用途是什么原因。 它也达到了12g。 使用top命令 Tasks: 348 total, 1 running, 344 sleeping, 0 stopped, 3 zombie Cpu(s): 1.4%us, 0.2%sy, 0.0%ni, 98.3%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 39131036k total, 4522864k used, 34608172k free, 228124k buffers Swap: 16764924k total, 0k used, 16764924k free, 1316196k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26760 […]

Linux虚拟内存调优到解决scheme磁盘I / O问题

我遇到了Linux服务器的一个问题,那就是磁盘写入很多,因此IO响应时间很长,所以响应时间很慢。 我已经检查了磁盘的智能值,并确定。 这是在RAID1 softwareRaid,ext4文件系统中的两个磁盘设置。 由于目前我无法升级硬件,也无法摆脱激烈的I / O应用,因此我打算configurationLinux vm设置,以便轻松实现I / O等待时间。 我想在调整交换,但主要是dirty_background_ratio和dirty_ratio。 题: 我如何根据当前的系统负载和内存使用情况来估计这个值的调整?

ElasticSearch JVM的大型虚拟内存大小

我正在运行一个JVM来支持ElasticSearch。 我仍在resize和调整,所以我把JVM的最大堆大小设置为ElasticSearch的默认值1GB。 将数据放入数据库之后,我发现JVM的进程在SIZE top输出中显示了50GB。 看来这实际上是在系统上造成性能问题; 其他进程在分配内存时遇到困难。 在询问ElasticSearch社区时,他们build议说“只是”文件系统caching。 根据我的经验,文件系统caching不会显示为特定进程使用的内存。 当然,他们可能一直在谈论操作系统的文件系统caching以外的东西,也许是JVM或ElasticSearch本身在操作系统之上做的事情。 但他们也表示,如果需要的话,它会被释放,似乎没有发生。 所以任何人都可以帮我弄清楚如何调整JVM,或者ElasticSearch本身,不要使用太多的RAM。 系统是具有72GB RAM的Solaris 10 x86。 JVM是“Java(TM)SE运行时环境(build 1.7.0_45-b18)”。