从Linux perf的数据采集说起

挺长时间了,不太情愿地做了一个给蝙蝠集团之一的consultant,即给所谓“精细化资源管理”做支持,该系统通过一个Linux perf为接口的守护工具,不断向控制节点发送当前系统中每一个应用的细粒度资源使用情况,方便从全局入手为应用程序求得最优分配方案。在这个过程中,A-B测试的结果反映这个守护工具会影响到业务的性能——这是意料之中的,对方的认可的心理底线是性能下降3%以内。可问题是对于某个核心应用的特定场景,这个工具居然导致了30%左右的性能下降,这就尴尬了!

继续阅读“从Linux perf的数据采集说起”
推荐阅读:
事出同事对于某个设备的压力测试
首先是庆祝我们开源小站再次搬家
首先列出本站之前相关的几篇帖子
众所周知的是,CPU的频率和它

Linux的serial串口控制台

本人大多数情况都是在调试服务器大量的linux服务器,很多情况下也不没有必要专门准备KVM(keyboard, video, mouse),甚至有些机器根本就没有显示器接口。如何调试的?闲来无事,分享一下。

继续阅读“Linux的serial串口控制台”
推荐阅读:
事出同事对于某个设备的压力测试
首先是庆祝我们开源小站再次搬家
首先列出本站之前相关的几篇帖子
众所周知的是,CPU的频率和它

一个测试性能不稳定的问题

经常会通过一些通用的测试工具测试一些服务器的性能,个人非常喜欢SPEC的一系列产品,特别是SPECcpu。SPECcpu原理上通过接近30种不同特性的组件的执行时间对服务器的计算吞吐能力进行一个客观的评价。当然,由于计算机的硬件配置不同,不同的程序跑分各有千秋,但有一点也是SPECcpu能够成为业界标准之一的原因是跑分结果的稳定。这么说不夸张:如果其中的一个测试组件两次跑分差距超过5%,请仔细检查环境有没有变化。

继续阅读“一个测试性能不稳定的问题”
推荐阅读:
时延 latency(亦称为延
事出前些日子有人咨询我:“在某
有感于CPU的各种电源状态描述
如果大家了解一点CPU的知识,

Linux的用户内存上限

首先,提个问题:64bit x86 Linux中用户空间最大可以使用多少物理内存?根据Kernel的定义,这个值是64T,Redhat官方给的是12T,但含糊的说了64T的限制。那64bit x86的寻址位宽是多少?答:48bit,理论上应该是支持2<<48=256T才是,Linux kernel为什么会强制限定了一个64T的最大内存?

继续阅读“Linux的用户内存上限”
推荐阅读:
时延 latency(亦称为延
事出前些日子有人咨询我:“在某
有感于CPU的各种电源状态描述
如果大家了解一点CPU的知识,

离奇的CPU利用率

接到一个黑盒的case:一套双志强的服务器上,运行一个典型的索引服务,通过taskset命令将改服务的CPU绑定到socket1之后,理论上socket0应该没有工作负载,但实际上的结果是socket0非但有负载,而且对于一颗24core的CPU来说,CPU利用率接近100%——比socket1的负载还高!且更加头疼的是无论怎么对server端施加压力,serve的CPU利用率和性能不会有太大的提升。

继续阅读“离奇的CPU利用率”
推荐阅读:
时延 latency(亦称为延
事出前些日子有人咨询我:“在某
有感于CPU的各种电源状态描述
如果大家了解一点CPU的知识,

DCDC’19-NUMA的优势和陷阱

去年的DCDC,我主要介绍了基于RDT技术对云计算场景做优化,转眼就一年过去了。2019年DCDC依旧还是Santa Clara、台北、上海、北京4处分会场。不同的是今年SC的presentation已经由我在美国的同事代领;台北今年取消了所有的云计算的专题;仅存京沪两地的演讲计划将在下周开始。照旧,这次分享下基于英文版本的内容(PS:不得不删除部分内容,整体略凌乱见谅!)。

继续阅读“DCDC’19-NUMA的优势和陷阱”
推荐阅读:
时延 latency(亦称为延
事出前些日子有人咨询我:“在某
有感于CPU的各种电源状态描述
如果大家了解一点CPU的知识,

高性能编程的困境

之前收到公司一个大牛的PPT,里边详细分析了一个典型的代码段在短短2~3秒钟时间内的内存访问特征。内容翔实紧凑,说的有理有据。技术类PPT的惯例,文中有几页折线图表达了整个过程中每一细微时间粒度上的内存带宽变化,扫了一眼细细密密的横坐标,一方面感慨大牛的数据之精确,另一方面忽然有了放challenge的冲动。

继续阅读“高性能编程的困境”
推荐阅读:
时延 latency(亦称为延
事出前些日子有人咨询我:“在某
尽管当前已经是多核心SMP时代
有感于CPU的各种电源状态描述

前沿、突出部

这些年,作为某芯片企业的软件工程师,我一直负责技术支持某家国内企业做云计算方向优化。也就是在两周之前,合作方忽然临时取消了所有的例会,问起原因也是支支吾吾。不料直到上周,后知后觉的我才明白到底发生了什么。

继续阅读“前沿、突出部”
推荐阅读:
一直用ubuntu作为自己的开
似乎还是在眼前的事儿一般,不知
当下,越来越多的内容被塞进了w
若干年前,老妈总会一次性买很多

从核心性能不一致到sub-numa

既然都是9102年了,云计算早就成了服务器的主要任务,就如同我之前说过的:“那种期待一个应用就把一台主机塞满的时代是回不来了!”不同于服务传统的称之为“科学计算”的模式,云计算的业务场景要求CPU的隔离性更优于性能,尽可能的各个core之间是搭积木似的即可随意打通(单虚机多CPU)又要互不干扰的。Xeon为代表的服务器CPU给出的主流解决方式是单socket,更多核心。

继续阅读“从核心性能不一致到sub-numa”
推荐阅读:
NUMA(Non-Unifor
事出这一段时间做了不少基于SP
首先列出本站之前相关的几篇帖子
继续在NUMA和性能差异的路上

Hyper Thread超线程的种种

说起HT技术,这早就是15年以前的技术了,当下主流的X86 CPU就没见过不支持HT技术的。简而言之,HT技术就是一个把物理CPU core虚拟成多个逻辑CPU并允许并行执行指令的功能。之所以写这篇文章主要是回答几个常见的问题:

  • 为什么有HT技术,为什么HT只有单核心双线程?
  • HT和真实的core到底有什么区别?
继续阅读“Hyper Thread超线程的种种”
推荐阅读:
RDT技术,全称为Resour
长久以来,我们对计算机资源的理
有感于CPU的各种电源状态描述
如果大家了解一点CPU的知识,