Articles of 内存

如何把Linux保持高速caching?

我们正在Debian上运行一个沉重的服务。 我们的服务生成大量的文件I / O,其性能取决于Linux内核caching文件的性能。 我们的系统有64GB内存。 总文件大小为500GB(大量小文件)。 这些文件在raid上通过reiserfs提供。 内核现在是3.2.9。 (这不是一个新问题,我们有这个问题好几年了。) 通常,大部分文件内容都被caching,系统运行平稳。 免费(1)命令显示14G内存caching,10G内存caching和8G内存是免费的。 然而,在我们的繁忙时间,我发现linux内核释放了大部分caching/缓冲区,并保持它们处于空闲状态。 在我看来,保持记忆处于自由状态是一个巨大的浪费,我想这是我们的服务在繁忙时间超载的原因。 免费(1)命令显示像2Gcaching,2G缓冲区和28G免费。 我的问题是,在什么情况下Linux内核想释放内存而不是caching/缓冲。 而如何避免这种行为? 有没有我们可以调整的configuration? (让我知道如果你需要更多关于我们的硬件/系统/服务的信息)

我应该在SQL Server 2008服务器上放多less内存?

可能重复: 你能帮我做一下容量规划吗? 目前我们的SQL Server 2008机器有24GB的内存。 在分析一些报告(PAL)和性能计数器之后,我得出结论,服务器可以使用更多的内存。 什么是确定我应该在服务器上放置多less内存的好方法? 有什么经验法则或什么我可以看? 我为什么要去48或72或128 ..

由于内存分配错误,Libvirt / QEmu机器失败并拒绝重新启动

我遇到了libvirt的问题。 在系统重新启动时,所有虚拟机(VM)都可以毫无问题地启动并继续运行。 然后在某个时间点,一组机器根据他们的日志closures。 当我尝试重新启动机器时,出现内存分配失败的错误,尽pipe有足够的内存空闲。 server ~ # free total used free shared buffers cached Mem: 16176648 16025476 151172 0 285432 950300 -/+ buffers/cache: 14789744 1386904 Swap: 0 0 0 server ~ # virsh start zimbra error: Failed to start domain zimbra error: Unable to read from monitor: Connection reset by peer server ~ # tail […]

数据库服务器大小

我收到了托pipe服务提供商的build议,指出生产服务器pipe理中的一般规则是确保数据库服务器上的内存大于总数据库的大小。 我们的数据库是1800MB(不断增长),我们被告知要购买一个2GB的服务器。 这并没有与我坐在一起,但我不是生产服务器pipe理的专家。 我们正在运行一个主要是InnoDB表和一些MyISAM的MySQL数据库。 谢谢!

共享内存进程间通信

我已经研究过程要彼此沟通,他们需要保持共享内存中的关键区域 ,以便需要访问的其他进程可以使用它,使用不同的variables进行互斥,如信号量和locking。 但是这个共享内存在哪里,是我们在做df -h时看到的同一个共享内存/ dev / shm。有时候/ dev / shm是有时候没有使用一些空间,为什么呢?

在服务器中推荐的最佳空闲内存级别

我注意到,我们注意到的一个Windows 2008服务器在一段时间内一直运行在93%的内存消耗。 有没有build议在内存添加到内存之前,在给定的机器上有多less物理内存应该是空闲的? 编辑1:附上截图 编辑2:该框运行SQL Server 2008,是那里的内存的最大消费者。 它具有IBM FileNet P8 Content Engine,Process Engine和ICC。

我如何测量我正在运行的进程的实际内存使用情况?

可能重复: 缓冲区/caching线在输出中的含义是免费的 我有两个服务器,server1和server2。 两者都是相同的惠普刀片,运行完全相同的操作系统(RHEL 5.5)。 这是他们两人的free输出: ### server1: total used free shared buffers cached Mem: 8017848 2746596 5271252 0 212772 1768800 -/+ buffers/cache: 765024 7252824 Swap: 14188536 0 14188536 ### server2: total used free shared buffers cached Mem: 8017848 4494836 3523012 0 212724 3136568 -/+ buffers/cache: 1145544 6872304 Swap: 14188536 0 14188536 如果我理解正确,server2正在使用更多的内存用于磁盘I / Ocaching,这仍然被视为内存使用。 […]

Android java构build内存消耗8GB

我在运行Linux Mint 12(Ubuntu-11.10)的联想x220核心i7 8GB内存上为odroid-x构buildAndroid-4.0.4。 我开始创build5个工作,过了一段时间,OOM触发并杀死了十几个进程,直到它杀死了由我的构build启动的java进程,并感到满意。 开心,我的意思是Linux不会在之后触发OOM。 屠宰完成后,我已经上传了我的dmesg 。 第一个OOM杀死了我的chrome选项卡,但是他们是无辜的,因为OOM在他们全部遇害后仍然触发。 但即使在他们全部遇害之后,OOM仍然触发并寻找别人牺牲。 它到达由我的make命令启动的java进程。 它一个一个的杀死了他们:CODE: $ grep -i "kill process" dmesg.txt [181532.565512] Out of memory: Kill process 9161 (chromium-browse) score 305 or sacrifice child […] [181560.198935] Out of memory: Kill process 7128 (chromium-browse) score 300 or sacrifice child [181560.398301] Out of memory: Kill process 6823 (java) score 118 […]

MySQL服务器随机停止。 在高负载或低可用内存的情况下,系统可能会死机吗?

可能重复: 如何诊断凶手杀人过程的原因 我在amazon web services(EC2微型实例)上的一台非常小的机器上安装了Ubuntunetworking服务器(Apache + MySQL + PHP)。 网站运行良好,速度非常快。 所以,我们的小stream量似乎并没有放慢服务器。 无论如何, MySQL会经常下载 (至less每周一次),我不明白为什么。 Apache而不是运行良好。 我必须通过SSHlogin并重新启动,然后运行正常: $ sudo service mysql status mysql stop/waiting $ sudo service mysql start mysql start/running, process 25384 我已经安装了Cacti进行性能监控,并且每当MySQL发生故障时我都可以看到,我的负载平均值高达10(通常低于1)。 这是奇怪的,因为它似乎并没有发生在cronjobs左右。 我也试图检查MySQL日志:慢查询日志(这是启用,我敢肯定),/ /var/log/mysql.log log/ /var/log/mysql.log和/var/log/mysql.err都是空的。 我想可能是系统自动closures它, 因为可用内存不足 ; 那可能吗? 现在我正在尝试设置一个更大的EC2实例,但是我在/var/log/syslog发现了一些看起来很关键的东西(但我不明白)。 我粘贴的相关部分在这里 (MySQL在11:47下了)。

历史数据/日志logging了Linux中的内存和磁盘存储?

在我的VPS中是否有任何历史数据/日志可以显示内存和磁盘存储过去是什么? 我的托pipe服务提供商将我的内存和磁盘存储从1.5GB和150GB减less到了1GB和100GB,因为他们最近重新调配了它,却没有join我注册的促销活动。 我需要他们把RAM和磁盘的增加50%,但他们似乎需要certificate我实际上有1.5GB和150GB之前。 谢谢!