我在非常具体的情况下遇到服务器速度下降的问题.事实是:

> 1)我使用计算应用WRF(天气研究和预测)
> 2)我使用双Xeon E5-2620 v3和128GB RAM(NUMA架构 – 可能与问题有关!)
> 3)我用mpirun -n 22 wrf.exe运行WRF(我有24个逻辑核心可用)
> 4)我使用Centos 7和3.10.0-514.26.2.el7.x86_64内核
> 5)在计算性能方面,Everthing工作正常,直到有一件事情发生:
> 5a)linux文件缓存获取一些数据,或
> 5b)我使用tmpfs并用一些数据填充它

在5a或5b场景中,我的WRF突然开始减速,有时甚至比正常慢约5倍.

> 6)RAM没有被交换,甚至没有接近发生,在最坏的情况下我有大约80%的RAM空闲!
> 7)/etc/sysctl.conf中的vm.zone_reclaim_mode = 1似乎有助于延迟5a场景中的问题
> 8)回声1> / proc / sys / vm / drop_caches在5a场景中彻底解决问题,将WRF性能恢复到最大速度,但只是暂时直到文件缓存再次获取数据,所以我在cron中使用这个命令(别担心,没关系,我仅将计算机用于WRF,并且不需要文件缓存才能以完全的性能工作)
> 9)但是,上面的命令在5b场景中仍然没有做任何事情(当我使用tmpfs作为临时文件时)
> 10)只有当我手动清空tmpfs时,才能在5b场景中恢复perfomanace
> 11)这不是WRF或mpi问题
> 12)这只发生在这一种计算机类型上,我管理了很多相同/类似的purporse(WRF).只有这一个有完整的NUMA架构,所以我怀疑它有它的东西
> 13)我也怀疑RHEL内核有这个但是不确定,没有尝试重新安装到不同的发行版中
> 14)numad和numactl选项调用像“numactl -l”这样的mpirun,没有任何区别

如果您有任何想法试图避免这些减速,请告诉我.

在关注这个问题的一些“相关”链接后,有一个想法来找我.透明巨大的页面可以成为这个问题的根源吗?一些文章强烈建议THP在NUMA系统上不能很好地发挥作用.

我建议启用numad服务:
yum install numad
systemctl enable numad
systemctl start numad

numad应该能够自动处理记忆位置.像进程这样的情况在第一个NUMA节点的cpu上运行,但它的数据在第二个NUMA节点的本地RAM中,不应再发生(除非所需内存量大于单个NUMA节点本地RAM的容量).

我还建议使用配置文件配置调优服务,这与您的使用方案最匹配.您必须测量差异并选择最佳(或者您可以创建一些自定义).

也许我已经找到了节点上奇怪行为的原因.我搜索了mpirun并找到了手册页:

https://www.open-mpi.org/doc/current/man1/mpirun.1.php

写道:

Quick Summary

If you are simply looking for how to run an MPI application,you probably want to use a command line of the following form:
% mpirun [ -np X ] [ –hostfile ]
This will run X copies of in your current run-time environment (if running under a supported resource manager,Open MPI’s mpirun will usually automatically use the corresponding resource manager process starter,as opposed to,for example,rsh or ssh,which require the use of a hostfile,or will default to running all X copies on the localhost),scheduling (by default) in a round-robin fashion by cpu slot. See the rest of this page for more details.

Please note that mpirun automatically binds processes as of the start of the v1.8 series. Three binding patterns are used in the absence of any further directives:

Bind to core:
when the number of processes is <= 2

Bind to socket:
when the number of processes is > 2

Bind to none:
when oversubscribed

If your application uses threads,then you probably want to ensure that you are either not bound at all (by specifying –bind-to none),or bound to multiple cores using an appropriate binding level or specific number of processing elements per application process.

在n = 22的情况下,没有应用绑定,可以重新定位线程.您可以尝试外部cpu绑定(与任务集一样).你必须做实验.

centos – 广泛使用RAM时服务器计算速度减慢的更多相关文章

  1. 响应iOS中的RAM可用性

    退后一步,还有其他一些适用于OpenGL纹理内存的自适应技术吗?

  2. 如何从命令行更改android模拟器RAM大小?

    我想在命令行创建android模拟器时编辑或更改ram大小.EX:在创建模拟器时,它采用默认的ram大小(AndroidSDK4.0.3)512MB但我想将其增加到768MB或减少到256MB.我想改变只有拉姆尺寸.因为有一个选项可以改变Ram的大小.如果你输入了yes,我们需要提供很多东西.解决方法您需要找到已创建的AVD的配置文件.在我的情况下,我在Ubuntu上运行AVD,所以这是我找到配置

  3. Android应用程序在首次启动时开始非常慢,但通常在下次启动时启动

    我使用Eclipse创建了一个非常繁重的应用程序并在4.2.2设备上部署.在第一次启动时,需要相当长的时间才能完全显示UI.在那之后,即使在app杀死并重新启动之后,一切都会很快,需要0.5秒才能启动.这是正常现象,如果是,那么根本原因是什么?

  4. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    这篇文章主要介绍了centos+php+coreseek+sphinx+mysql之一coreseek安装篇的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

  6. Centos7 中 Node.js安装简单方法

    这篇文章主要介绍了Centos7 中 Node.js安装简单方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下

  7. nodejs脚本centos开机启动实操方法

    在本篇文章里小编给大家整理的是关于nodejs脚本centos开机启动实操方法,有兴趣的朋友们参考下。

  8. Centos PHP 扩展Xchche的安装教程

    这篇文章主要介绍了Centos PHP 扩展Xchche的安装教程的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  9. Linux CentOS系统下安装node.js与express的方法

    这篇文章主要给大家介绍了在Linux CentOS系统下安装node.js与express的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

  10. CentOS上安装Node.js和mongodb笔记

    这篇文章主要介绍了CentOS上安装Node.js和mongodb笔记,本文讲解了Python安装、Node.js安装、npm安装、mongodb驱动安装、mongodb数据库操作测试代码等内容,需要的朋友可以参考下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部