昨天下午,我们将其中一个Linode实例(CentOS 5.7,64位)从4GB实例调整为12GB。 紧接着重启之后,我注意到缓冲区的内存使用率非常高,比我在任何机器上所见过的都高。 即使在我使用率最高的服务器上,我也很less看到缓冲区使用量超过200MB。 在此服务器上,当前的缓冲区使用率比调整和重新启动之前高两个数量级 。 这是一个有移动前后数据的munin记忆图: “munin”显示的数据被“free”的输出所证实: [erik@host ~]$ free -m total used free shared buffers cached Mem: 11967 10146 1820 0 7374 1132 -/+ buffers/cache: 1639 10327 Swap: 255 0 255 现在,我很清楚内核对caching的未使用内存的使用情况,但是我对缓冲区的理解是缓冲区不同。 它们被用来临时存储写入,直到它们被提交到磁盘。 这是一个正确的理解? 这个服务器有非常小的磁盘IO(这是一个Apache / PHP的networking服务器,数据库是在别处,所以只有实质IO是access_logs),因此,我希望缓冲区的使用率是相当低的。 以下是同一时间段的networkingstream量图: 正如你所看到的,调整前后的stream量并没有实质性的变化。 在重新启动期间,我知道有三件事改变了: 我们select了Linode在本周早些时候给出的另外4个内核,将总内核数量提升到了8。 我们在“最新的64位”内核上,现在是3.7.10-x86_64-linode30。 以前我们在3.0.18我相信。 我们从4GB的RAM到12GB。 在这些变化中,我的预感是这是新内核导致缓冲区使用增加的原因。 不幸的是,目前,我们不能把另一个宕机时间降级到一个较早的内核,尽pipe如果我不能理清这个缓冲区的使用情况,那么这可能最终是必要的。 那么,我有几个问题: 你们有没有运行3.7.10内核?如果是的话,你有没有看到类似的变化? 有哪些工具可用于检查内核缓冲区及其大小? 我认为,就像caching一样,当其他应用程序需要时,内核将释放这个内存。 它是否正确?
我正在升级HP ProLiant ML115服务器上的内存以便客户端使用,所以我今天到现场去了解他需要什么样的内存。 我想我会记下型号,并查看规格,因为我不能关机今天popup内存。 从表壳正面看,它有标准的ML115印章,但在侧面板上有G5型号的说明。 我记下了Windows内部的处理器,所以稍后我可以回到规格中,看看他实际上是哪个型号的。 事实certificate,他有标准的ML115型号的处理器,而不是G5。 (AMD皓龙1214) 根据惠普规格 ,AMD Opteron 1214 CPU支持PC2-5300,但根据维基百科页面 ,该处理器仅支持PC2-6400内存(与G5相同的内存) 我如何根据我拥有的唯一信息确定正确的购买记忆? (中央处理器)
我有一个大的php cronjob每20分钟运行一次。 每次执行后,虚拟服务器使用的RAM内存会增加,脚本终止后不能正常释放! 但为什么? 内存不被caching total used free shared buffers cached Mem: 2048 1948 99 0 0 88 -/+ buffers/cache: 1859 188 Swap: 0 0 0 该脚本使一些curl / multi_curl和更新Mysql数据库。 有一种方法可以查看所有variables和内存使用情况的脚本吗? 或简单的那些没有发布在最后…
服务器是否需要在GPU上使用ECC ram,而正常的CPU ram是ECC? 我认为,而不是使用的Quadro K6000或AMD FirePro,我们可以使用GTX 980或AMD R9 290 …如果可能的话…如果不一定需要使用ECC RAM …比那里“服务器”GPU(i7处理器是“像”一个服务器E7 … E7一般为服务器/工作站,因为I7一般为桌面)…请帮助!
在我的一台Debian机器上,我正在JVM和MySQL实例上运行一个服务。 我已经启用了各种在线指南的巨大页面,但我有一个问题。 这是我的configuration: vm.nr_hugepages = 2816 vm.nr_overcommit_hugepages = 128 vm.hugetlb_shm_group = 1002 kernel.shmmax = 5905580032 kernel.shmall = 1441792 更新:我的机器是VMWare ESX上的访客虚拟机,分配了2个CPU和6GB的RAM。 我为系统保留了512MB或RAM,其余的(5.5GB,5905580032bytes,见kernel.shmmax )分配给JVM 3GB,MySQL分配2.5GB。 所以我预留了5.5GB / 2MB = 2816个大页面 允许对“服务”组(gid = 1002)访问内存。 MySQL和JVM与作为该组“服务”的不同用户一起运行,作为主要组: uid=106(mysql) gid=1002(services) groups=1002(services),111(mysql) uid=1001(java) gid=1002(services) groups=1002(services),1003(java) HugePages已启用,他们的工作。 问题是,当时只有一个应用程序似乎能够使用它们! 如果我第一次启动mysql,那么jvm将无法使用它,反之亦然。 service mysql start -> OK service java start -> Fallback to normal memory 要么 […]
我正在运行Tomcat 6.为了尝试修复一些证书链问题,我正在搞乱密钥库,而且我不小心把生产版本,而不是我正在使用的.new文件。 现在,Tomcat仍在运行,仍然能够提供HTTPS连接(我在Web浏览器中testing过)。 显然,必须有一个它仍然可以访问的私钥副本。 我的第一个想法是检查/proc/PID/fd ,所以我跑了sudo lsof | grep tomcat sudo lsof | grep tomcat 。 这适当地返回打开文件的列表: $ sudo lsof | head -1; sudo lsof | grep tomcat COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 2599 root cwd DIR 202,1 4096 413699 /usr/share/apache-tomcat-6.0.44/bin java 2599 root mem REG 202,1 51715 413777 /usr/share/apache-tomcat-6.0.44/lib/tomcat-i18n-fr.jar […]
我正在把我们的一台服务器的RAM从2GB增加到4GB。 在BIOS中查看,我看到以下设置: DRAM ECC Enable (Enabled) MCA DRAM ECC Logging (Disabled) ECC Chip Kill (Disable) DRAM Scrub Redirect (Disable) DRAM BG Scrub (Disabled) L2 Cache BG Scrub (Disabled) Data Cache BG Scrub (Disabled) IOMMU Mode (Disabled) 这些应该打开吗? 而对于背景清理选项,不同的时间是纳秒和微秒; 如何计算最佳使用时间? 另外,IOMMU有最适合和绝对的选项,然后允许我设置以MB为单位的光圈大小。 这应该设置为什么? 我们在这个盒子上运行VMWare服务器,所以我的基本理解是,IOMMU是有帮助的,但不知道理想的光圈会是什么。
我有一个运行使用Apache服务的Web应用程序的VPS,平均每秒处理20-50个请求。 通常高于这一点(每秒50个请求),Apache使用的内存量对于VPS来说太高,并且错误开始发生 – 网页崩溃,VPS在回到正常水平之前摔倒一两分钟。 我相信MaxClients是减lessApache使用的RAM的最好方法,我计划将MaxClients从256(默认值)减less到100左右。每个Apache进程使用〜15MB,服务器总共有1900MB的RAM – 服务器除了运行Apache和几个cron之外别无其他。 当前设置是: KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 3 # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # ServerLimit: maximum value for MaxClients for the […]
你好,如果这太不好意思,真抱歉。 我试图像平时一样自己find答案,但是我失败了。 当我需要分析哪些虚拟主机占用大部分系统资源时(尤其是内存),最佳做法是什么? top或ps aux似乎毫无用处,因为所有虚拟主机相关进程都在相同的apache用户下运行 怎么样的日志分析 – 这是这样的? 如果这些信息对您有任何价值,我已经为每个虚拟主机分配了访问日志。 这个问题肯定是有关系的,但并没有帮助我的问题: 通过VirtualHost跟踪Apache 如果你需要更多信息,请告诉我…我会在身边。 提前致谢。
我有一个32位Windows服务器与4 GB的RAM。 从阅读networking上的各种文章,我了解到启用boot.ini中的/ 3GB开关意味着我的4 GB的RAM,3可以分配给用户模式的内存。 如果没有交换机,用户模式只能使用2 GB,系统预留另外2 GB用于内核模式。 然而,Mark Russinovich的这篇文章让我觉得我以前的结论是错误的 – 所有的/ 3GB交换机都允许进程使用3GB的4GB地址空间而不是2GB。 让我们来设置几个场景来说明我认为它是如何工作的,以及什么时候交换机会有用: 1:数据库服务器 – 一个内存密集型进程 没有/ 3GB开关,数据库进程将只能使用2 GB的内存。 使用/ 3GB开关的过程将能够分配高达3 GB。 在这种情况下,交换机很有用。 2:运行4个进程的服务器,每个进程消耗750 MB的内存。 使用/ 3GB开关不会带来任何好处 – 每个进程已经可以分配所需的所有内存,并且系统可以将所有进程保存在物理内存中。 我是对还是错? 如果我错了,那么/ 3GB交换机如何真正影响物理内存使用?