标签: memory

Linux 仅检测到 2gb 的 RAM 并安装了 4 个 - i386 Debian Lenny

我有一台有 4gb 内存的机器,但 Linux 只检测到两个在顶部和免费。BIOS 报告 4。

运行 i386 Debian Lenny。

linux memory debian 32-bit

7
推荐指数
1
解决办法
6602
查看次数

Windows Server 2008 内存不足

我有一个安装了 8GB RAM 的 Windows 2008 x64 服务器。

任务管理器和资源监视器都坚持使用 7.5GB 的 RAM。但是,Processes (Memory Private Bytes) 下的内存列表并没有加起来。我确实检查了所有用户的 Show Processes 并手动添加了我想出的大约 3.5GB RAM 的数字。

我还查看了 SysInternals Process Explorer 的最新副本。并且私有字节或工作集加起来都不会超过大约 3.5GB 的正在使用的 RAM。

这是怎么回事?

======

更新:我重新启动服务器以查看内存利用率会发生什么。启动和常规操作开始后,它的 RAM 使用量为 3GB。18 小时后,它恢复到 6.8GB 的​​使用量,但没有迹象表明额外的 3.5GB 左右的 RAM 正在使用何处。

以下是资源监视器和任务管理器屏幕截图的链接:

资源监视器

任务管理器

更新 2:好吧,我相信我找到了问题所在。当我从我的 sql server 中分离一个较大的数据库时,显示为“正在使用”的 ram 数量急剧下降。Memory Private Bytes 计数几乎没有移动。所以我猜测 SQL Server 有某种分配内存的方法,它不会真正出现在任何监视器中。

我进一步创建了一个新的数据库文件,然后从我分离的那个文件中传输了所有数据。即使它有相同的数据,并且有相同的事务通过它,使用的内存仍然很低。也许数据库中有一些损坏?我将把它留给 DB 大神,然后去寻找另一个“问题”;)

windows-server-2008 memory sql-server

7
推荐指数
1
解决办法
9368
查看次数

linux为特定进程保证或保留内存

有没有办法为特定服务/进程保留特定数量的内存?

我想保证 OpenSSH 始终有足够的可用内存,以便在服务器内存已满的情况下它可以接受新的 SSH 连接。

谢谢。

linux memory

7
推荐指数
1
解决办法
3452
查看次数

内存是空闲的,但仍在交换?

我确定这是一个非常基本的问题,但我只是想了解运行基于 Rails 的站点的 Ubuntu Hardy 服务器发生了什么。似乎我有可用内存,但系统报告它仍在交换内存(除非我读错了?)。

这是free -m输出

              total       used       free     shared    buffers     cached
Mem:          1024        905        118          0         33        409
-/+ buffers/cache:        462        561
Swap:         2047         95       1952
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释一些可能的原因,即它始终保持 95MB 的交换空间(它永远不会更少)?我只是在寻找一些关于我可以检查的内容的线索,这些线索会向我确切地解释 Linux 中如何利用内存。

ubuntu memory swap

7
推荐指数
2
解决办法
1952
查看次数

我的记忆呢?!Nginx + PHP-FPM 前端网络服务器缓慢爬行

我不确定我是否有内存泄漏问题(正如我的托管公司所建议的那样),或者我们是否都需要阅读http://linuxatemyram.com。也许你们聪明的人可以帮助我们?

这是一个前端 Web 服务器虚拟机,基本上只在 RHEL 5.5 上运行 nginx 和 php-fpm。该服务器正在为 PHP 电子商务工具 Magento 提供支持。服务器在共享环境中运行,但我们很快就会改变这种情况。

无论如何.. 重新启动后服务器运行得很好,但一天之内它就会把自己磨成一团糟。加载页面实际上需要 2 分钟,CPU 像疯了一样尖峰,等等。当我通过 SSH 登录时,控制台甚至变得缓慢。就像我的整个服务器都瘫痪了一样。

我还一直通过 top 和 tcpdumping 传入流量监视数据库服务器。数据库在“缓慢”加载时间的大部分时间里都处于空闲状态。当我开始看到来自前端服务器的查询时,页面很快就会加载。

以下是我在减速期间登录后的一些统计信息,在重新启动 php-fpm 后:

[mike@front01 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          5963       5217        745          0        192        314
-/+ buffers/cache:       4711       1252
Swap:         4047          4       4042


[mike@front01 ~]$ top
top - 11:38:55 up 2 days,  1:01,  3 users,  load average: 0.06, 0.17, 0.21
Tasks: 131 total,   1 running, 130 sleeping, …
Run Code Online (Sandbox Code Playgroud)

php memory nginx memory-leak vmware-esx

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

为什么 /proc/meminfo 中的值似乎没有完全映射到系统 RAM?

/proc/meminfo 中 MemTotal 的值没有意义。作为一个人,注视它,它似乎与安装的 RAM 大致对应,但使用它来显示从自动化实用程序安装的 RAM,它似乎不准确且不一致。

对于具有 1G RAM 的系统,我希望 MemTotal 行的值为 1048576 - 1024*1024。但是相反,我看到的是1029392。在另一个4G盒子上,我看到的是3870172,它不是1024的倍数,它甚至不接近1029392*4。在 8G 盒子上,我得到 8128204,它似乎与其他值也没有相关性,也不是 1024 的倍数。

我正在尝试使用此信息在状态网页上报告 RAM。我的解决方法是将它“四舍五入”到最接近的 1G 倍数,但我想了解为什么这些值看起来不一致并且不符合我的期望。

有人可以补充我在这里缺少的东西吗?

编辑:扩展下面接受的答案....

可以在此处找到参考。

那个解释不一致的页面也让我感兴趣的是:

记忆信息:

提供有关内存分配和利用的信息。这因架构和编译选项而异。...

linux memory debian

7
推荐指数
1
解决办法
7401
查看次数

无法删除 PHP 脚本的内存使用限制

情况

我的 PHP 脚本出现问题,收到以下错误消息:

Fatal error: Out of memory (allocated 359923712) (tried to allocate 72 bytes) in /path/to/piwik/core/DataTable.php on line 969

我正在运行的脚本是: /path/to/piwik/misc/cron/archive.sh

我假设数字是字节,这意味着总数约为 360MB。

出于所有意图和目的,我已将服务器的内存限制增加到远高于 360MB,但这是它始终出错的数字(给予或接受一个字节)。

请注意:这个问题不是关于修复脚本中的内存泄漏,也不是关于脚本本身使用这么多内存的原因。该脚本是 Piwik 归档过程的一部分,所以我不能只修复任何内存泄漏等。有关此脚本的更多信息以及我增加内存限制的原因,请参阅“如何设置自动归档”

问题

鉴于脚本试图使用超过 360MB 的内存,我无法更改,为什么我似乎无法增加服务器上 php 可用的内存量?

6 月 23 日更新:请参阅下面的“我尝试过的内容”>“增加 Linux 的每个进程内存限制”以了解背景......如果我设置了ulimit -v 1024000,然后检查它ulimit -v我得到了正确的“1024000”值。如果我再次运行该脚本,它将继续前进,但最终会在达到相同的内存限制 (~360MB) 时出错。如果我立即检查ulimit -v,它已重置为“524288”的原始值。这似乎是问题的根本原因。


我试过的

增加 PHP 的 memory_limit

鉴于 php.ini 文件:

php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration …
Run Code Online (Sandbox Code Playgroud)

linux php memory

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

大型文件系统上的 e2fsck 失败并显示错误:内存分配失败

我正在尝试在 2TB 大的大型 raid 阵列上使用 e2fsck,并使用 GPT 进行分区(因为大小)。

系统上只安装了 1GB 内存,我目前无法添加更多内存。

问题是,在设备上启动 fsck 后不久,我收到一条错误消息:

Error storing directory block information (inode=115343515, block=0, num=108120142): Memory allocation failed
e2fsck: aborted
Run Code Online (Sandbox Code Playgroud)

经过一些在线搜索和研究,我在下面看到了这篇文章:

在大型文件系统上运行 fsck 时内存不足

在查找 MAN 页面后,我遵循了建议e2fsck.conf,基本上创建了一个 /etc/e2fsck.conf 文件,如下所示:

[scratch_files]
directory = /var/cache/e2fsck
Run Code Online (Sandbox Code Playgroud)

并在确保创建/var/cache/e2fsck目录后再次尝试 fsck 。再次启动 fsck 并观察可用内存、cpu 使用情况和目录大小后/var/cashe/e2fsck……我可以说它确实有很大帮助……但它最终还是失败了,给出了同样的错误。基本上它有助于减缓内存消耗,但并没有完全否定它。

所以我尝试e2fsck.conf使用文件的添加标志:

dirinfo = false 
Run Code Online (Sandbox Code Playgroud)

或者

dirinfo = true
Run Code Online (Sandbox Code Playgroud)

和

icount = false
Run Code Online (Sandbox Code Playgroud)

或者

icount = true
Run Code Online (Sandbox Code Playgroud)

两者似乎都没有太大影响,因为不久后就会发生同样的错误。

我错过了什么吗?我对 fsck 需要很长时间没意见...但我需要它实际完成而不是出错。

linux partition memory fsck

7
推荐指数
1
解决办法
9372
查看次数

即使交换没有完全使用,当远程服务器内存不足时,我也无法通过 ssh 连接到远程服务器

我有一个 Godaddy 服务器,它定期变得无响应。很难排除故障,因为当它无响应时我无法 ssh 进入。我通过添加一个 cron 作业来弄清楚发生了什么,该作业每 5 分钟将输出从“top”传送到日志文件。下次我在它无响应后重新启动它时,我检查了这些日志,发现 ram 已用完,但交换大部分未使用。

我正在努力减少那台机器上两个应用程序服务器的 ram 使用量(事实证明打开的连接太多了。每个连接都用了 30m,所以在打开 40 之后,服务器用完了 ram),但是我' d 真的很想知道如何确保我可以 ssh 进入机器。

如果交换文件未满,那么我认为服务器会有足够的空间来响应,即使它响应很慢。有什么办法可以保留一点内存,以便我始终可以通过 ssh 进入机器?

以下是服务器正常运行时的外观示例:

top - 15:13:21 up  3:12,  2 users,  load average: 0.15, 0.30, 0.33
Tasks: 127 total,   1 running, 126 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  1.8%sy,  0.0%ni, 95.7%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   2064980k total,  1611252k used,   453728k free,    45852k buffers
Swap:  2096472k total,        0k used,  2096472k free,   790212k cached
Run Code Online (Sandbox Code Playgroud)

这是在服务器停止运行之前记录的最后一个顶级日志:

top - 14:45:08 …
Run Code Online (Sandbox Code Playgroud)

linux memory ssh

7
推荐指数
1
解决办法
2万
查看次数

TrustedInstaller.exe 在 Windows Server 2008 中占用大量内存

除了占用大量 CPU 之外,TrustedInstaller.exe 还占用了我的 Windows server 2008 中的大量内存。这个问题有什么解决方案吗?顺便说一句,Windows 更新服务应该是肯定启动的。

memory central-processing-unit

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