- 浏览: 7942859 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
现在的机器上都是有多个CPU和多个内存块的。以前我们都是将内存块看成是一大块内存,所有CPU到这个共享内存的访问消息是一样的。这就是之前普遍使用的SMP模型。但是随着处理器的增加,共享内存可能会导致内存访问冲突越来越厉害,且如果内存访问达到瓶颈的时候,性能就不能随之增加。NUMA(Non-Uniform Memory Access)就是这样的环境下引入的一个模型。比如一台机器是有2个处理器,有4个内存块。我们将1个处理器和两个内存块合起来,称为一个NUMA node,这样这个机器就会有两个NUMA node。在物理分布上,NUMA node的处理器和内存块的物理距离更小,因此访问也更快。比如这台机器会分左右两个处理器(cpu1, cpu2),在每个处理器两边放两个内存块(memory1.1, memory1.2, memory2.1,memory2.2),这样NUMA node1的cpu1访问memory1.1和memory1.2就比访问memory2.1和memory2.2更快。所以使用NUMA的模式如果能尽量保证本node内的CPU只访问本node内的内存块,那这样的效率就是最高的。
在运行程序的时候使用numactl -m和-physcpubind就能制定将这个程序运行在哪个cpu和哪个memory中。玩转cpu-topology 给了一个表格,当程序只使用一个node资源和使用多个node资源的比较表(差不多是38s与28s的差距)。所以限定程序在numa node中运行是有实际意义的。
但是呢,话又说回来了,制定numa就一定好吗?--numa的陷阱。SWAP的罪与罚文章就说到了一个numa的陷阱的问题。现象是当你的服务器还有内存的时候,发现它已经在开始使用swap了,甚至已经导致机器出现停滞的现象。这个就有可能是由于numa的限制,如果一个进程限制它只能使用自己的numa节点的内存,那么当自身numa node内存使用光之后,就不会去使用其他numa node的内存了,会开始使用swap,甚至更糟的情况,机器没有设置swap的时候,可能会直接死机!所以你可以使用numactl --interleave=all来取消numa node的限制。
综上所述得出的结论就是,根据具体业务决定NUMA的使用。
如果你的程序是会占用大规模内存的,你大多应该选择关闭numa node的限制(或从硬件关闭numa)。因为这个时候你的程序很有几率会碰到numa陷阱。
另外,如果你的程序并不占用大内存,而是要求更快的程序运行时间。你大多应该选择限制只访问本numa node的方法来进行处理
------------------
在os层numa关闭时,打开bios层的numa会影响性能,QPS会下降15-30%;
在bios层面numa关闭时,无论os层面的numa是否打开,都不会影响性能。
安装numactl:
#yum install numactl -y
#numastat 等同于 cat /sys/devices/system/node/node0/numastat ,在/sys/devices/system/node/文件夹中记录系统中的所有内存节点的相关详细信息。 #numactl --hardware 列举系统上的NUMA节点
#numactl --show 查看绑定信息
详情参考:https://www.cnblogs.com/wjoyxt/p/4804081.html
https://jingyan.baidu.com/article/17bd8e525461ba85ab2bb8ec.html
http://www.cnblogs.com/zhoujinyi/p/3479801.html
在运行程序的时候使用numactl -m和-physcpubind就能制定将这个程序运行在哪个cpu和哪个memory中。玩转cpu-topology 给了一个表格,当程序只使用一个node资源和使用多个node资源的比较表(差不多是38s与28s的差距)。所以限定程序在numa node中运行是有实际意义的。
但是呢,话又说回来了,制定numa就一定好吗?--numa的陷阱。SWAP的罪与罚文章就说到了一个numa的陷阱的问题。现象是当你的服务器还有内存的时候,发现它已经在开始使用swap了,甚至已经导致机器出现停滞的现象。这个就有可能是由于numa的限制,如果一个进程限制它只能使用自己的numa节点的内存,那么当自身numa node内存使用光之后,就不会去使用其他numa node的内存了,会开始使用swap,甚至更糟的情况,机器没有设置swap的时候,可能会直接死机!所以你可以使用numactl --interleave=all来取消numa node的限制。
综上所述得出的结论就是,根据具体业务决定NUMA的使用。
如果你的程序是会占用大规模内存的,你大多应该选择关闭numa node的限制(或从硬件关闭numa)。因为这个时候你的程序很有几率会碰到numa陷阱。
另外,如果你的程序并不占用大内存,而是要求更快的程序运行时间。你大多应该选择限制只访问本numa node的方法来进行处理
------------------
在os层numa关闭时,打开bios层的numa会影响性能,QPS会下降15-30%;
在bios层面numa关闭时,无论os层面的numa是否打开,都不会影响性能。
安装numactl:
#yum install numactl -y
#numastat 等同于 cat /sys/devices/system/node/node0/numastat ,在/sys/devices/system/node/文件夹中记录系统中的所有内存节点的相关详细信息。 #numactl --hardware 列举系统上的NUMA节点
#numactl --show 查看绑定信息
详情参考:https://www.cnblogs.com/wjoyxt/p/4804081.html
https://jingyan.baidu.com/article/17bd8e525461ba85ab2bb8ec.html
http://www.cnblogs.com/zhoujinyi/p/3479801.html
发表评论
-
让 InnoDB 多任务运行
2018-09-06 16:06 786今天偶然看到的一招,记录下 如果服务器上的参数 innodb_ ... -
mysql中查询连接工作状态
2018-05-31 15:13 686#!/bin/bash while true do mysql ... -
MYSQL BACKUP的SHELL相关语句
2018-05-25 20:33 550#!/bin/bash ###############Basi ... -
MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
2018-05-08 11:17 623MySQL开启bin-log后,调用存储过程或者函数以及触发器 ... -
关于MYSQL 5.7线程池的好文收集
2018-03-27 10:57 1529来自腾讯工程师的好文: https://www.jianshu ... -
MYSQL 的审计日志插件
2017-11-30 10:19 1285MYSQL 的审计日志插件,可惜目前只是LINUX用: 来自M ... -
(转)MySQL InnoDB缓冲池配置详解
2017-10-09 16:55 4072一、InnoDB缓冲池 InnoDB维护一个称为缓冲池的内存 ... -
(转)MySQL 5.7默认SQL模式带来的问题总结
2017-10-05 18:46 1866http://www.ywnds.com/?p=8865 在 ... -
(转)MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍
2017-10-05 18:45 1188http://www.ywnds.com/?p=8184 ON ... -
MySQL 5.6 新功能之 Index Condition Pushdown (ICP)
2017-10-05 15:52 792http://www.cnblogs.com/zhoujiny ... -
mysql 5.7中的MBR和BKA算法
2017-10-03 15:11 1719一、什么是MRR MMR全称是Multi-Range Re ... -
(收藏)万字总结:学习MySQL优化原理,这一篇就够了!
2017-09-30 23:37 1189http://dbaplus.cn/news-155-1531 ... -
(转)MySQL中NULL和空值的区别
2017-09-23 15:57 2230MySQL中NULL和空值的区别 http://www.yw ... -
mysql 5.7中关于count(*)的优化
2017-09-20 19:15 2352在mysql 5.7中,对于select count(*) f ... -
MySQL 索引设计概要
2017-09-12 21:12 518<<MySQL 索引设计概要>>,不错 ... -
10分钟学会理解和解决MySQL乱码问题
2017-07-22 18:21 546http://cenalulu.github.io/mysql ... -
MySQL的or/in/union与索引优化
2017-07-22 08:29 955https://mp.weixin.qq.com/s/ZWez ... -
MYSQL中查看某个表或库的大小语句
2017-04-02 09:12 1959在information_schema.tables中有相关记 ... -
(收藏)MYSQL大表方案
2017-01-09 19:58 1437https://segmentfault.com/a/1190 ... -
(转)MySQL 特性分析之内部临时表
2016-11-28 22:54 868MySQL中的两种临时表 外部临时表 通过CREATE TEM ...
相关推荐
NUMA(Non-Uniform Memory Access)是计算机体系结构中的一种设计选择,主要用于多处理器系统。NUMA意味着访问某些内存区域的时间会比访问其他区域的时间长。这种体系结构要求操作系统和程序员采取特定的策略和编程...
通过实现一个NUMA感知的堆内存管理器,使得在NUMA架构下运行的应用程序能够智能地选择内存分配位置,从而减少跨节点内存访问的次数,优化内存使用,提高应用性能。 在NUMA架构中,一个常见的系统内存架构示例是SMP...
根据 CPU 核心数和线程数选择合适的多线程策略;而了解 CPU 的指令集则有助于优化软件代码,使其更好地利用硬件特性。 总的来说,全面掌握 CPU 的各项参数是提升系统性能的关键步骤,无论是系统管理员还是开发者,...
3. `<pagesize>`:允许你选择使用哪种页面大小,如4KB、2MB或1GB,这可以影响内存访问效率。 4. `<cpunode>`:定义vCPU应映射到哪个物理CPU节点,可以通过`id`属性指定。 一个简单的numa配置示例可能如下所示: ```...
5. **硬件配置**:根据应用需求选择合适的NUMA配置,比如节点数量、内存大小和连接带宽。 综上所述,NUMA架构是现代多处理器系统中提高性能的关键技术之一。理解和优化NUMA下的内存访问对于开发高效并行应用至关...
服务器系统架构是构建高性能计算和数据中心的...选择哪种架构取决于具体的应用场景、性能需求和扩展性的考量。在实际应用中,企业往往根据业务需求和预算,结合这三种架构的特点,来设计和构建适合自己的服务器系统。
在cc-NUMA架构下,虚拟机监控器的设计挑战主要包括:内存分配策略的选择以最小化跨节点访问,缓存一致性维护以避免性能下降,以及虚拟机迁移时的性能影响。作者的原型设计考虑了这些因素,通过智能的内存管理和调度...
### 服务器三大体系SMP、NUMA、MPP详解 #### SMP(Symmetric Multi-Processor 对称多处理器架构) **定义及特点** SMP架构是一种允许多个处理器对等工作的系统设计,...选择哪种架构取决于具体的应用需求和技术考量。
### 服务器三大体系SMP、NUMA...SMP适用于小型、中等规模的应用,NUMA则更适合需要较高扩展能力的大型系统,而MPP架构则是针对超大规模并行处理需求的最佳选择。选择合适的架构对于确保服务器系统的高效运行至关重要。
3. 在esxtop主界面中,选择`m`(内存模式)。 4. 输入`n`(NUMA分析)以查看NUMA相关信息。 5. 按`Enter`键查看各个虚拟机的NUMA拓扑和内存分配。 **NUMA优化策略** 理解并利用NUMA局部性可以显著提升虚拟化环境的...
本文档将从硬件选配、NUMA优化、CPU性能模式、存储阵列卡配置以及操作系统级别的调整等方面,详细探讨MySQL数据库的优化攻略。 首先,硬件层面的优化是数据库性能提升的基础。在选择硬件时,应优先考虑知名品牌如...
在NUMA环境中,路由选择通常基于节点间的连接方式和拓扑结构,例如模运算和节点编号规则。 总的来说,数据一致性管理和路由算法是NUMA系统性能和效率的关键因素。设计有效的协议和算法可以显著提高并行处理的效率,...
- **Snoop模式选择**:选择正确的snoop模式以优化跨NUMA节点的数据传输。 3. **ESXi电源管理**: - **主机电源管理**:可选择不同电源策略,如高性能、均衡和低功耗。 - **确认电源管理技术可用性**:验证ESXi...
(numA) 的数量和红色正方形 (numB) 的数量。 初始化代码: 下载存储库lego-searching 在MATLAB中打开initialize.m,选择要处理的训练图像,即train__.jpg 运行脚本 程序: 将图像下载为 I=imread('filename') 并调用...
因此,应当根据具体工作负载选择合适的vCPU数量,有时候,多个小型虚拟机的组合可能比少数大型虚拟机更能优化性能,这取决于NUMA节点大小、CPU缓存局部性和工作负载特性。 【vCPU的实际应用考虑】 在电力行业资源...
47 GC 回收器选择 48 年轻代与年老代的参数调优建议 49 GC 回收时常见的异常 410 CMS 回收是否等于 FULL GC? 411 判断 FULL GC 是否正常的标准 412 FULL GC 出现的几种情况 413 CMS 常用参数 414 堆内存溢出后处理...
迁移过程中,作者选择使用PHP脚本来导入数据,而不是MongoDB自带的`mongoimport`工具。然而,随着数据导入的进行,出现了“cursor timed out”异常。这通常意味着查询执行时间超过了预设的超时限制。作者尝试通过...
**NUMA支持**:非均匀内存访问(NUMA)架构在现代多处理器系统中常见,zambesii已经实现了对NUMA的支持,能够有效地管理不同处理器对内存的访问,以减少延迟并提高性能。 **UDI(Uniform Driver Interface)**:...
5. 文件系统选择(EXT3与EXT4): EXT3和EXT4是两种常见的Linux文件系统。EXT4提供了更快的文件系统挂载速度、更大的文件大小支持和更高的I/O性能。在Oracle环境中,EXT4通常被认为更适合大数据量和高I/O需求。 6. ...