我想测量程序在执行期间使用的总内存(如 RAM)。理想情况下,类似的东西time会在程序退出时运行程序并打印统计信息。
unix/linux/bsd 世界里有这么标准的工具吗?谢谢。
编辑:
我试图分析的程序需要几分之一秒的时间来执行,所以任何暗示“运行时检查这个”的东西都不起作用。这就是为什么我要一个“时间”之类的工具。
这是场景,我希望您提供有关以下方面的专家建议:
我目前有大约 2GB 的数据库,一年后可能会翻一番。我想要为我要订购的专用数据库服务器提供最佳服务器性能,该服务器将用作运行 WordPress、论坛和 mediawiki 的流量相当大的站点的后端。大多数数据库流量应该是只读的。
所以问题是,我真的需要超过 4GB 的 RAM 吗?我应该选择 8 核还是 4 核?一个比另一个重要吗?
[编辑] 作为后续,最终在具有 8 GB RAM 的 8 核服务器上获得了很多优惠,所以就这样做了。很高兴知道我会有很大的成长空间。
我们有一个 debian linux 网络服务器。它只是运行 apache2。我们的 mysql 服务器在另一台主机上。然而,我们有时会在网络服务器上运行 cron 任务来执行常规任务。
然而,最近一个 cron 任务出现了一个错误,并开始吞噬内存。Linux OOM 杀手杀死了 apache。这当然导致我们的网站瘫痪。内存饥渴的 cron 继续运行。但是在这种情况下,我希望 OOM 杀手杀死该脚本,而不是apache。
有什么方法可以配置内核,以便我可以说不要杀死名为“apache2”的进程(或者至少让 apache2 成为它杀死的最后一件事)?apache 和常规 cron 都以同一用户 (www-user) 运行。
有没有办法在 Windows 2008 R2 x64 机器上测试 RAM?
我有 6GB 的内存,我怀疑我的 4 根内存条中的一根可能坏了。
我在 CentOS 服务器上运行了大量应用程序,并且我看到了奇怪的内存行为。这是一个 munin 图的快照:

正如您所看到的,提交的内存量逐渐增加,导致交换文件被使用。让我感到奇怪的是,非活动内存的数量也在不断增长。我的理解是,非活动内存实际上是操作系统已释放但尚未清理并放回空闲内存池中的内存。似乎内存不足是由于缺乏清理造成的,但我可能是错的。
你能给出一些提示来找出问题的原因和/或让 CentOS 回收不活动的内存吗?
谢谢。
一些额外的信息:
1) 我在 /tmp 上安装了一个 tmpfs 并且存储在那里的文件数量增加了(但它是非活动内存量的两倍)。
2) cat /proc/meminfo(在图像的后期)给出:
MemTotal: 14371428 kB
MemFree: 1207108 kB
Buffers: 35440 kB
Cached: 4276628 kB
SwapCached: 785316 kB
Active: 9038924 kB
Inactive: 3902876 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 14371428 kB
LowFree: 1207108 kB
SwapTotal: 10223608 kB
SwapFree: 6438320 kB
Dirty: 627792 kB
Writeback: 0 kB
AnonPages: 7844560 kB
Mapped: 49304 kB
Slab: 146676 kB
PageTables: 27480 kB
NFS_Unstable: 0 kB …Run Code Online (Sandbox Code Playgroud) 我有以下服务器
Windows Storage Server 2008 x64 SP2 Xeon L5520 @ 2.27 12GB RAM DAS MD1000i 运行 RAID10 15k SAS 驱动器。
它运行 DFS 作为大约 100 个用户的文件服务器
此服务器上的内存使用量不断增加,但没有显示进程资源管理器和任务管理器中正在使用 RAM 的内容。
我有私人字节和工作集列显示
在一周的时间里(从使用的大约 3GB 开始),RAM 使用量达到系统不再有足够资源并且不再响应的程度。
Process Explorer 当前显示物理使用率为 80%,但我只能说明大约 2GB 的 RAM 正在使用。
我过去主要使用 Server 2003 并开始使用 2008,我在这里遗漏了什么吗?
谢谢。
在我们的 SharePoint 场中,我们的 Web 前端服务器在“待机”模式下都有大量内存,这意味着我们的 IIS 工作进程可用的内存很少。
我们在每个盒子中都有 32 GB 的 RAM,待机内存将增加到大约 28 GB,而 IIS 工作进程似乎只使用了大约 2 GB。此外,我们已经看到机器在此内存处于待机状态时广泛使用交换文件,因此我开始认为处于待机模式的此内存正在阻止 IIS 使用它,迫使它交换到磁盘,从而导致更多的性能问题.
我使用SysInternals RamMap来识别内存中保存的内容,它能够告诉我待机内存中的几乎所有内容都是“映射文件”类型。
当我按文件大小对 RamMap 中文件摘要选项卡下列出的文件进行排序时,最大的文件(每个大约几百兆)是 IIS 日志文件和 SharePoint 日志文件。
我想了解哪个进程正在将这些文件加载到备用内存中以及为什么它们没有被释放。当我执行时iisreset,它不会释放内存。
有任何想法吗?
谢谢!
有谁知道如何确定正在运行的Linux 服务器中的内存模块是注册还是未注册的确定性方法?
我知道 dmidecode 和 lshw 但到目前为止我没有找到任何方法来区分缓冲和非缓冲内存模块。
我需要向运行 HP-UX 的机器添加一些 RAM。
在添加物理 RAM 之前或之后,我需要做什么吗?或者操作系统只会识别 RAM 而不需要进一步的任务。
我以前从未使用过 HP-UX,所以我只需要知道在添加物理内存之前或之后我需要对操作系统做些什么。
memory ×10
linux ×3
hardware ×2
apache-2.2 ×1
centos ×1
hp-ux ×1
memory-leak ×1
multi-core ×1
mysql ×1
oom ×1
performance ×1
testing ×1
tmpfs ×1
top ×1
unix ×1
windows ×1