Articles of 内存

降低caching的内存并增加RAM中的可用内存

我正在使用Windows 2008 Server 64位,当最小进程运行时,我已经上传了我的任务pipe理器的快照。 表明 总内存8190 MB caching内存4315 MB 免费3402 MB 所以有效的我只有3402 MB的总内存使用量。 我的问题是,因为超过一半是用于caching的内存,有什么办法可以减less这个caching的内存,从而增加我的空闲内存? 我需要这样做,因为我的应用程序需要至less5GB内存,并在系统中运行时崩溃。

我怎么知道文件是否从磁盘caching中读取?

我有两个进程在两个除了ram数量相同的盒子上执行不同的操作。 一个盒子有32GB,另一个盒子有16GB,这个过程对前者的performance要好得多。 该进程本身并不使用所有这些内存,但它确实读取了许多大文件。 我怀疑它在32GB的盒子上效果更好,因为linux可以caching更多的文件,因为额外的内存。 但是,我不知道如何certificate这一点。 如何判断文件是从caching还是从磁盘读取? 当然,我可以简单地读取时间,看他们是否performance更好,但我想看看他们为什么performance更好。

Centos5报告内存不足

CENTOS5是我的networking服务器,我不断收到内存问题。 -bash: fork: Cannot allocate memory 在我的网页上,我得到… Can't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug in /opt/lampp/htdocs/toplogin.php on line 36 Could not connect: Can't create a new thread (errno 12); if you are not out of available memory, […]

Windows 2008 VPS上的访问冲突

我正在运行带有2GB RAM的Windows 2008 VPS。 我试图在VPS上安装hMailServer,但是当我到达“select安装目录”对话框时,我收到了不断popup的错误消息,使我无法继续。 只要对话框打开,我得到这两个错误: "Access violation at address 73F53560. Read of addresss 00000014." "Access violation at address 73EEBE21. Read of addresss 00000018." 一旦我closures它,它会再次释放,但只要我点击“浏览..”(select目录),我会重复以下错误,如果我closures它们重新打开。 "Access violation at address 73F0E371. Read of address 00000014." "Access violation at address 73F4A006. Read of address 00000000." 我不知道如何解决这些问题。 我不能运行内存诊断,我假设,因为它是一个VPS,而不是一个实际的服务器。

ulimit命令或其他内存/ CPU限制选项?

我有一个命令行进程,由我的ruby轨应用程序运行使用ImageMagick“转换”命令将PDF转换成多个PNG。 问题是,当我运行命令时,我的VPS上的所有内存(512MB),并呈现许多其他function(Web服务器,SSH等)。 我的转换命令是这样的: convert -density 288 ./document.pdf -resize 25% ./pages/page_%03d.png 我试图使用ulimit来限制这个进程可以消耗的内存大约15%的内存,我的512MB的VPS大约是76,800千字节。 如果我使用ulimit运行上面的命令,如下所示,这个过程最初没有限制地占用内存的80%,并且由于延迟导致服务器的其他function无效。 经过一段时间,这个过程降到10%以下(通常是内存的4-8%),但是其他所有服务器的function仍然很慢。 注意我关于进程耗费多less内存的数字来自顶端。 bash -c 'ulimit -m 76800; convert -density 288 ./document.pdf -resize 25% ./pages/page_%03d.png' 有没有人有任何想法,我怎么可以执行这个命令,而不消耗我所有的记忆? 谢谢!

在系统开始交换/抖动之前,我可以locking多less内存?

我正在尝试使用Memtester作为我公司Linux机器的内存压力和正确性testing。 Memtester基本上只需要大量的内存来testing参数,使用memlock()locking那么多的内存,然后运行一些模式来validation内存是否好。 由于我试图validation正确性,所以我想尽可能多地testing机器的内存。 我一直试图通过从/ proc / meminfo传递MemFree来做到这一点。 或者说,我有一个产生多个进程的脚本,每个进程都要求MemFree(见下文),因为操作系统不允许单个进程locking超过50%的内存。 问题是,如果我locking超过90%的内存,我的电脑locking,大概是由于颠簸。 大约30分钟后,我终于能够再次使用它。 有没有一种方法,以编程方式或其他方式,找出我可以locking多less内存之前开始交换? 我希望这可以在任何Linux机器上运行,所以任何需要我改变系统configuration的东西都是不可行的。 另外,你可以假设testing是系统上唯一运行的东西(当然除了正常的操作系统的东西),因为机器应该被放在一边,而我们正在对它们进行压力testing。 生成memtester进程的脚本的一部分 while [ $MEMAVAILABLE -ge 0 ] do ./memtester $MEMAVAILABLE'K' & sleep 10 #wait for previous process to lock its memory MEMFREE=`cat /proc/meminfo | grep "MemFree" | sed 's/MemFree:\(\s\)*\(.*\) kB/\2/g'` MEMAVAILABLE=$(($MEMFREE-($MEMTOTAL*5/100))) done wait 。

Centos服务器没有正确使用SWAP并获得OOM

最近我一直在我的服务器有一些严重的内存问题。 就在前一天,我的服务器变得完全没有响应,并且杀手开始随机杀死服务(httpd,php等)。 我什至不能SSH到我的服务器,但我能够PING它。 我确实看过内核消息日志,但是没有任何明确的迹象表明是什么导致了内存问题 – 我只能看到所有的消息。 sar -r命令: 03/15/2012 12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 12:10:01 AM 2881812 582380 16.81 26652 250192 4192944 0 0.00 0 12:20:01 AM 2883600 580592 16.76 27104 250196 4192944 0 0.00 0 12:30:01 AM 2878576 585616 16.90 27656 250320 4192944 0 0.00 0 12:40:01 AM […]

Debian(wheezy)强制caching到RAM

我有Linux服务器运行大约6个游戏服务器。 我有3 GB的RAM,但我只用了大约500 MB。 有没有办法caching我的游戏服务器(所有的文件 – 甚至没有实际使用的地图等 – 约1.5 GB)的一个RAM? 我想这样做的原因是因为我的Linux服务器是虚拟的,硬盘驱动器很慢,所以真的有很大的IO等待时间。 IO: http : //i.stack.imgur.com/7HLhB.png

将内存限制应用于屏幕会话

您可以在/etc/security/limits.conf设置标准Linux应用程序的内存使用限制 不幸的是, 我以前认为 这些限制只适用于用户应用程序而不适用于系统服务 。 这意味着用户可以通过系统服务(如screen启动应用程序来绕过其限制。 我想知道是否有可能让用户使用screen但仍然强制执行应用程序的限制。 杰夫有使用nohup服从用户限制(美妙!)的好主意,但我仍然想知道是否有可能模仿screen的有用的窗口function。 编辑: 看来我的screen会话现在正在遵守/etc/security/limits.conf定义的硬地址空间限制。 我一定是犯了一些错误。 我最近安装了cpulimit ,但我怀疑这是解决scheme。感谢nohup提示,杰夫! 这非常有用。 链接到CPU限制包

UWSGI –cheap和–idle模式 – 预期的行为

我使用以下命令在uwsgi上运行django uwsgi –master –cheap –idle 60 –http-socket :8084 –wsgi-file /var/django/mysite/django.wsgi 通常我的stream程每个都在10MB左右,但我看到他们坐在大约半个MB的位置。 我的问题是,当服务器内存不足时,uwsgi是否会将进程降低到更便宜的模式? 如果任何人都可以解释如何–cheap和–idle的工作,那将不胜感激。