标签: memory

在购买服务器 RAM 之前,我需要了解哪些 RAM 选项?

这是一个提议的关于服务器内存的规范问题

我必须购买戴尔 R420 服务器,并且有各种组合(1600 和 1333 MHz RDIMMS 和 UDIMMS)以及性能优化与高级 ECC 的对比,无论是否有备用。我注意到只有 4gb 的 DIMM 带有 UDIMM,所以我最终只能使用 16GB 的 RDIMM。

这些选项是什么,我需要了解哪些信息?

hardware memory ecc

18
推荐指数
1
解决办法
4745
查看次数

删除linux缓存的ram

我有一个具有 8GB 内存的网络服务器,并且正在运行一个非常密集的 php 站点(1 个站点),该站点可以进行文件操作、绘图、电子邮件、论坛,等等。环境远非静态,这让我相信在 ram 中缓存任何东西几乎没有什么好处,因为几乎每个对服务器的请求都会创建新的或更新的页面。很多缓存是在客户端完成的,所以当涉及到图像、javascript、css 时,我们有大量的 304 请求。

此外,我确实有语言文件被写入服务器上的平面文件,其中缓存的 ram 绝对是好的,而不是从磁盘读取。但是这样的文件屈指可数。

在大约两周内,我从拥有 98% 的空闲内存变成了 4% 的空闲内存。这发生在我们还将几个大型 svn 更新推送到服务器的时候。

我的问题是,如果我使用以下命令定期清除缓存(我知道 Linus Torvalds 对缓存的感觉),我的服务器是否会得到更好的调整:

sync; echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

或者我最好编辑以下文件:

/proc/sys/vm/swappiness  
Run Code Online (Sandbox Code Playgroud)

如果我用 30 替换默认值 60,我应该有更少的交换和更多的陈旧缓存重用。

看到使用第一个命令释放所有缓存确实感觉很好,但如果我告诉你这对桌面环境有好处,那我就是在骗你。但是像我上面描述的那样的网络服务器呢?想法?

编辑:我知道系统将根据需要从缓存中获取内存,但感谢您指出我们的清晰。当大部分服务器内存存储在缓存中时 Apache 会变慢,我是否在想象事情?那是完全不同的问题吗?

linux memory web-server cache swapping

17
推荐指数
1
解决办法
6637
查看次数

为什么 Apache 运行这么多进程?这里的内存过多?

我注意到 Apache 在我的 LAMP 服务器(ubuntu 10.10)上运行多个进程。我只是在运行一个使用 MySQL 作为数据库的 Wordpress 站点。似乎 www-data 运行 apache2 的次数比它应该多(也使用太多内存),我是否正确:

ID      Owner       Size        Command   
31200   www-data    251236 kB   /usr/sbin/apache2 -k start
20678   www-data    250948 kB   /usr/sbin/apache2 -k start
25781   www-data    248888 kB   /usr/sbin/apache2 -k start
31045   www-data    248844 kB   /usr/sbin/apache2 -k start
19926   www-data    246480 kB   /usr/sbin/apache2 -k start
20749   www-data    239380 kB   /usr/sbin/apache2 -k start
32616   www-data    238632 kB   /usr/sbin/apache2 -k start
8846    mysql   238128 kB   /usr/sbin/mysqld
24178   www-data    234228 kB   /usr/sbin/apache2 -k start
32618 …
Run Code Online (Sandbox Code Playgroud)

ubuntu performance memory apache-2.2

17
推荐指数
1
解决办法
3万
查看次数

如何使用 Apache 和 PHP 调查内存泄漏?

我们正在运行一个执行财务建模的大型 Drupal 网站。考虑到 apache 使用的内存超时增加而 apache 进程数保持稳定,我们似乎遇到了某种内存泄漏:

在此处输入图片说明

在此处输入图片说明

我们知道内存问题来自 apache/PHP,因为每当我们发出/etc/init.d/httpd reload内存使用量下降(见上面的截图和下面的 CLI 输出):

在 httpd 重新加载之前

美元免费
             缓存的已用空闲共享缓冲区总数
内存:49447692 45926468 3521224 0 191100 22609728
-/+ 缓冲区/缓存:23125640 26322052
掉期:2097144 536552 1560592

httpd重新加载后

美元免费
             缓存的已用空闲共享缓冲区总数
电话:49447692 28905752 20541940 0 191360 22598428
-/+ 缓冲区/缓存:6115964 43331728
掉期:2097144 536552 1560592

每个 apache 线程都分配了一个memory_limit512MB的 PHP ,这解释了高内存使用量与低请求量的区别,以及max_execution_time120 秒的时间,它应该终止执行时间更长的线程,因此应该防止内存使用量的不断增长。看到。

问:我们如何调查导致此内存泄漏的原因?

理想情况下,我正在寻找可以在系统上执行的故障排除步骤,而不必打扰开发团队。

附加信息:

OS: RHEL 5.6
PHP: 5.3
Drupal: 6.x
MySQL: 5.6
Run Code Online (Sandbox Code Playgroud)

仅供参考,我们知道我们正在单独调查的交换问题,与我们在交换开始发生之前观察到的内存泄漏无关。

linux php memory drupal apache-2.2

17
推荐指数
1
解决办法
4万
查看次数

同步命令有什么作用?

我知道它的作用...我想我很好奇它为什么要解决我继承的应用程序中的问题。我接管了一个相当大的 tomcat 应用程序,它充当一堆 flex 客户端的 Red5 服务器,并处理大量实时交互数据,这些数据最终被刷新到 rails api。问题是随着时间的推移,这些客户端的响应在大量负载下增长到 3-400 毫秒,而通常小于 100 毫秒。客户怀疑这是我们真的无法确认的内存问题。有一天,我正在运行负载测试的临时服务器基本上停止接收请求或非常慢。一时兴起我发送了

sync && echo 3 > /proc/sys/vm/drop_caches

神奇的是,服务器恢复了活力并开始全速运行,为这些连接提供服务。这是巧合还是这种行为有意义?为什么?

linux memory

17
推荐指数
2
解决办法
5万
查看次数

如何获取 - 每个进程的线程数?

这是一台 Ubuntu 9.10 服务器。

另外如何查看每个进程的内存使用情况?

谢谢

ubuntu memory process threads

16
推荐指数
1
解决办法
3万
查看次数

如何使用 T-SQL 获得 SQL 实例的最小和最大内存分配?

我管理着大约 90 个 SQL Server 实例,需要查询来确定分配给每个实例的内存量。请注意,我不是在问如何设置它,只是为了在不使用 Management Studio 的情况下查看它当前的设置。

谢谢你的帮助。

memory sql sql-server tsql sql-server-2008-r2

16
推荐指数
1
解决办法
5万
查看次数

APT 致命 -> 无法分叉

我看到很多关于这个的问题,但我的似乎有点不同。

这是我收到的:

/etc/cron.weekly/apt-xapian-index:
FATAL -> Failed to fork.
run-parts: /etc/cron.weekly/apt-xapian-index exited with return code 100
Run Code Online (Sandbox Code Playgroud)

/etc/cron.daily/apt:
FATAL -> Failed to fork.
Run Code Online (Sandbox Code Playgroud)

/etc/cron.daily/apt:
DB Update failed, database locked
Run Code Online (Sandbox Code Playgroud)

我总是有至少 600 MB 的可用 RAM。如果我尝试手动运行sudo /etc/cron.daily/apt什么也不会发生..shell 挂起。

可能是什么问题呢?

编辑: Ubuntu 服务器 14.04

memory cron cron.daily fork apt

16
推荐指数
1
解决办法
4万
查看次数

如何检查 RAM 是否在 ECC 模式下运行?

自从更换处理器后,我更新了这篇文章,但我的问题的核心(不幸的是结果也是如此)是相同的。


我构建了我的第一个 FreeNAS 盒子,并想使用 ECC RAM,因为我想存储关键数据。因为我的预算有限,所以我想寻找仍然支持 ECC RAM 的最实惠的解决方案。

经过一番研究,我发现我需要一个支持 ECC 的主板、内存和 CPU。我选择的主板是“Gigabyte X150M-Pro ECC”,它有 C232 芯片组、DDR4 和 LGA1151 插槽。

我还购买了由金士顿制造的两个 DIMM 套件,型号为“KVR21E15S8K2/8”(规格表)。技嘉发布了一份经过测试的内存模块列表,我的模块似乎支持工作 ECC(支持模块列表)。

内存标签

由于我的预算有限,我需要一个支持 ECC 的经济实惠的 Skylake CPU。根据英特尔的说法,赛扬 G3900 确实支持 ECC,所以我选择了那个。

构建计算机后,我想验证我的系统是否确实使用 ECC 内存运行并进入了主板的 BIOS。从各种互联网站点,我发现有些主板有一个特殊部分,可以告诉 ECC 是否正常工作,但我的主板似乎没有。我检查了所有菜单,但找不到类似的部分。

在做了更多的研究之后,在 Unix&Linux stackexchange 上找到了一篇没有解决我的问题的帖子。我尝试了最新的memtest86+,据我所知,它甚至没有显示值“ECC”。我尝试了Puget 系统使用的较旧的 4.20 版本该版本显示“ECC:关闭”。然而,在阅读了前面提到的帖子后,我怀疑它说的是实话(也许这就是该功能被删除的原因?)。两个版本也没有读出 DIMM 的正确速度和延迟,这增加了我对memtest86+.

memtest86+ 截图

另一种确定 ECC 是否正常工作的流行方法是发出dmidecode -t memory命令并读出Total WidthData Width。我的结果分别是 …

freebsd memory central-processing-unit ecc freenas

16
推荐指数
3
解决办法
3万
查看次数

包括两个处理器是否会增加最大 RAM 内存?

如果 E3-1285 v6 支持最大 64 GB RAM,使用双插槽主板是否会增加最大内存?我猜不是,但想知道原因。我的逻辑是,如果 RAM 是共享的,那么两个处理器都应该能够处理所有可用的 RAM,因此,它也将被限制为 64GB。对此有任何技术解释吗?

memory xeon

16
推荐指数
2
解决办法
6485
查看次数