Linux 在消费电子领域的应用已经相当普遍,而对于消费电子产品而言,省电是一个重要的议题。
Linux 在消费电子领域的应用已经相当普遍,而对于消费电子产品而言,省电是一个重要的议题。 Linux 电源管理非常复杂,牵扯到系统级的待机、频率电压变换、系统空闲时的处理以及每个设备驱动对系统待机的支持和每个设备的运行时(Runtime)电源管理,可以说它和系统中的每个设备驱动都息息相关。 对于消费电子产品来说,电源管理相当重要。因此,这部分工作往往在开发周期中占据相当大的比重,下图呈现了 Linux 内核电源管理的整体架构。大体可以归纳为如下几类: 1)CPU 在运行时根据系统负载进行动态电压和频率变
全志R8平台 fantasy调频策略配置方法 【适用范围】 适用于R8 Tina1.0 平台 【问题现象】 目前R8平台的如果选择fantasy 的调频策略无法编译通过。 【问题原因】 1. 默认的调频策略是performance ,所有CPU一直运行在最高频率。 【解决办法】 1. 修改文件 linux3.4.39/include/linux/cpufreq.h — a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h 2017-10-10 16:00:45.437453203 +0800
电源管理(Power Management)在 Linux Kernel 中,是一个比较庞大的子系统,涉及到供电(Power Supply)、充电(Charger)、时钟(Clock)、频率(Frequency)、电压(Voltage)、睡眠/唤醒(Suspend/Resume)等方方面面。
为了提高电池的使用寿命,为了节省功耗,linux引入了DVFS。而为了应用程序的性能,Linux 又引入了PM QoS。下图是linux kernel power 管理中PM QOS和DVFS相关的架构图。
如果我们的能源是无限制的,那可能也不需要做现在这样复杂的电源管理控制,尤其是在嵌入式设备如手机上,在追求极致性能的同时,还要追求续航时间,二者是一对相互约束的矛盾体,需要软硬件紧密配合以满足用户越发苛刻的性能和功耗的需求。
为降低RK3568J功耗,提高运行系统健壮性,在产品现场对RK3568J实现主频调节则显得尤为重要。
也许大家会觉得奇怪:为什么Linux kernel把对ARM big·Lttile的支持放到了cpufreq的框架中?
今天巡检发现,mc1的K8S服务器集群有些异常,负载不太均衡。其中10.2.75.32-34,49的load average值都在40以上,虽然机器的cpu核数都是40或48核不算严重,但也值得重视。
白嘉庆,西邮陈莉君教授门下研一学生。曾在华为西安研究所任C++开发一职,目前兴趣是学习Linux内核网络安全相关内容。
根据你的需要,有各种各样的关于你的CPU处理器信息你需要了解,比如CPU供应商名、模型名、时钟频率、插槽/内核的数量, L1/L2/L3缓存配置、可用的处理器能力(比如:硬件虚拟化、AES, MMX
计算机(Computer):俗称电脑,是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备
Android用户几乎每时每刻都在和显示交互;因此,良好的显示性能对于用户体验至关重要。然而,实现平滑如丝的性能并不总是那么容易。需要整个系统协同工作,并且内核并不总是像人们所希望的那样支持这种协作。Android小组目前正在考虑现有内核功能的多种组合以及可能的改进,以提供最佳的显示体验。
现在我们在购买一款手机的时候,大家都会去看一下这款手机所采用的芯片型号,有几个CPU核心(是8核处理器还是4核处理器),CPU的主频最高是多少。这些都是一些关系到性能体验的初步的硬件基础参数。
Energy Aware Scheduler(EAS)是Android手机默认的Scheduler。通过为每个任务选择正确的CPU,达到性能和功耗相平衡。它可以在big.LITTLE和DynamIQArm平台上实现节能调度决策。
Perf 是一个 Linux 性能分析工具。它可以帮助我们找出程序的性能瓶颈,提高代码运行效率。Perf 的全称是 Performance Counters for Linux (PCL)。它是 Linux 内核中一种用于性能分析的子系统,通过统计硬件和软件事件,帮助我们了解程序的运行情况。
top 命令是Linux中用于动态查看系统进程和系统性能的命令,包括CPU、内存、网络等方面的信息,一般形式如下:
CPUFreq子系统位于 drivers/cpufreq目录下,负责进行运行过程中CPU频率和电压的动态调整,即DvFS( Dynamic Voltage Frequency Scaling,动态电压频率调整)。运行时进行CPU电压和频率调整的原因是:CMOS电路中的功耗与电压的平方成正比、与频率成正比(P∝fV2)因此降低电压和频率可降低功耗。 CPUFreq的核心层位于drivers/cpufreq/cpufreq,c下,它为各个SoC的CPUFreq驱动的实现提供了一套统一的接口,并实现了一套notifier机制,可以在 CPUFreq的策略和频率改变的时候向其他模块发出通知。另外,在CPU运行频率发生变化的时候,内核的 loops perify常数也会发生相应变化。
Zabbix默认使用Zabbix agent监控操作系统,其内置的监控项可以满足系统大部分的指标监控,因此,在完成Zabbix agent的安装后,只需在前端页面配置并关联相应的系统监控模板就可以了。如果内置监控项不能满足监控需求,则可以通过system. run[command, <mode>]监控项让Zabbix agent运行想要的命令来获取监控数据。
现在只要涉及到互联网的行业都离不开服务器,其中有很多企业和站长会选择服务器租用,而对于服务器租用,有一些朋友在租用时,存在一些误区,这样可能会到这租用的服务器最终是不满意的,下面赵一八笔记就来看看都有什么常见误区。
上一篇文章我们简单了解了一些关于时间的概念,以及Linux内核中的关于时间的基本理解。而本篇则会简单说明时钟硬件,以及Linux时间子系统相关的一些数据结构。
众所周知,系统调用很昂贵。而针对CPU漏洞的软件缓解措施(如Meltdown)甚至使其更加昂贵。但它们到底有多贵呢?为了开始回答这个问题,我写了一个小型的微型测试,以测量系统调用的最低成本。意思是说,无论上下文切换是否发生,人们都必须支付系统调用的成本,即使在内核中的工作微不足道,即从用户模式切换到内核模式再返回的成本。
Zabbix默认使用Zabbix agent监控操作系统,其内置的监控项可以满足系统大部分的指标监控,因此,在完成Zabbix agent的安装后,只需在前端页面配置并关联相应的系统监控模板就可以了。如果内置监控项不能满足监控需求,则可以通过system. run[command, <mode>]监控项让Zabbix agent运行想要的命令来获取监控数据。 下面介绍Zabbix对于Linux和Windows的监控。 安装Zabbix agent的过程就不赘述了,主要介绍一些关键的配置和功能。 1 操作系统
CPUSpeed for Linux adjusts the CPU speed dynamically based on the demand for processing power.Disable it unless you are using a laptop
管理与高CPU活动相关的功耗和废热是数据中心运行的主要关注点之一。对于需要最大限度延长电池寿命的移动设备来说,最大限度地减少功耗也越来越重要。
云豆贴心提醒,本文阅读时间7分钟 现在MySQL运行的大部分环境都是在Linux上的,如何在Linux操作系统上根据MySQL进行优化,我们这里给出一些通用简单的策略。这些方法都有助于改进MySQL的性能。 闲话少说,进入正题。 一、CPU 首先从CPU说起。 你仔细检查的话,有些服务器上会有的一个有趣的现象: 你cat /proc/cpuinfo时,会发现CPU的频率竟然跟它标称的频率不一样: 这个是Intel E5-2620的CPU,他是2.00G * 24的CPU,但是,我们发现第5颗C
psutil (python system and process utilities) 是一个跨平台的第三方库,能够轻松实现获取系统运行的进程和系统利用率(包扩CPU、内存、磁盘、网络等)信息。它主要用于系统监控、分析、限制系统资源和进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持的操作系统包括:Linux,Windows,macOS,,AIX等等。同时支持python2与python3版本,当前最新版本为5.4.8。
谈到Redis缓存,我们描述其性能时会这么说:支持1万并发连接,几万QPS。而我们描述Nginx的高性能时,则会宣示:支持C10M(1千万并发连接),百万级QPS。Nginx用C语言开发,而Redis是用同一家族的C++语言开发的,C与C++在性能上是同一级数的。Redis与Nginx同样使用了事件驱动、异步调用、Epoll这些机制,为什么Nginx的并发连接会高出那么多呢?(本文不讨论Redis分布式集群)
我们在进行机器学习的时候,肯定需要使用一个比较好的 GPU 显卡,其次就是一个性能强劲的 CPU 了。主频高的 CPU 在跑程序的时候,真的有时候比使用 GPU 都跑的快,所以如何查看自己机器的 CPU 就是必不可少的步骤了。我们常常选购笔记本或者服务器的时候,总是会看到 X 核 XG 这样的表示,今天我们就一起来了解下其中的一些常见术语吧!
2021年6月22日,香山在RISC-B中国峰会上第一次亮相,这是当时公开的国际上性能最高的开源RISC-V处理器核设计,受到国内外的很多关注,在全球最大的开源项目托管网站GitHub上不到3个月就有近2000个Star。虽然我们的报告是中文的,但却有不少英文报道,甚至还有来自俄罗斯的关注。 2021年7月15日,第一代香山“雁栖湖”流片。但接下来由于受到全球芯片产能影响,我们不得不经历漫长的等待期。因为许久没有回片后的消息,有一些关注香山的朋友发来小心翼翼的询问:“香山是不是流片失败了?”流片失败,就是指
开发人员在高性能系统的性能调优过程中,经常会碰到各种背景的噪声干扰, 从而使得收集的数据不够精确。本文主要从CPU 以及Linux操作系统的角度来分析各种噪声的来源以及消除方法。最终的目标是搭建基准平台,在特定的cpu上实现”0”干扰。
本文基于 Joe Mario 的一篇博客 改编而成。 Joe Mario 是 Redhat 公司的 Senior Principal Software Engineer,在系统的性能优化领域颇有建树,他也是本文描述的 perf c2c 工具的贡献者之一。 这篇博客行文比较口语化,且假设读者对 CPU 多核架构,Cache Memory 层次结构,以及 Cache 的一致性协议有所了解。 故此,笔者决定放弃照翻原文,并且基于原博客文章做了一些扩展,增加了相关背景知识简介。 本文中若有任何疏漏错误,责任在于编译者。有任何建议和意见,请回复内核月谈微信公众号,或通过 oliver.yang at linux.alibaba.com 反馈。
随便测了青岛OJ的docker,好不容易跑完压力测试,一看Analysis给我整晕了。就这?
关注ARM平台上timer driver(clocksource chip driver和clockevent chip driver)的驱动工程师应该会注意到timer硬件的演化过程。在单核时代,各个SOC vendor厂商购买ARM core的IP,然后自己设计SOC上的peripherals,这里面就包括了timer的硬件。由于没有统一的标准,各个厂商的设计各不相同,这给驱动工程师带来了工作量。然而,如果仅仅是工作量的话就还好,实际上,不仅仅如此。linux的时间子系统要求硬件timer提供下面两种能力:一是free running的counter,此外需要能够在指定的counter值上产生中断的能力。有些硬件厂商会考虑到软件的需求(例如:PXA270的timer硬件),但是有些硬件厂商做的就不够,例如:S3C2451的timer硬件。我们在写PXA270的timer硬件驱动的时候是毫无压力的,而在写S3C2451的timer的驱动的时候,最大的愿望就是把三星的HW timer的设计人员拉出来打一顿。
Linux memory and storage system, Concurrency optimization. https://github.com/hongweiqin
http://www.searchdoc.cn/rdbms/mysql/dev.mysql.com/doc/refman/5.7/en/index.com.coder114.cn.html
/proc/cpuinfo 是一个虚拟文件系统,在 Linux 系统中提供有关 CPU(中央处理器)的信息。通过读取该文件,您可以获取有关处理器的详细信息,如型号、频率、核心数、缓存大小等。本文将介绍 /proc/cpuinfo 文件中最常见的标志,并提供相应的示例。
程磊,某手机大厂系统开发工程师,阅码场荣誉总编辑,最大的爱好是钻研Linux内核基本原理。
接受用户输入指令或数据,经由中央处理器的数学和逻辑单元运算处理后,以产生或存储成有用的信息。
在深入Linux系统的复杂世界中,性能优化始终是SRE关注的热点。最近在拜读国际著名的 LINUX 性能专家 Brendan Gregg 的个人博客和技术书籍。他的工作不仅涵盖了系统性能的监控和分析,还深入探讨了性能问题的根源及其解决方案。通过他的个人博客和技术书籍,我们可以窥见Linux性能优化的精髓,学习到如何利用各种工具和方法来提升系统效率,确保应用的顺畅运行。将会结合 Brendan Gregg博文与个人理解 出一个拜读系列博文。
作为数据科学、机器学习的工具,Linux有着非常广泛的应用场景。其完全开放、高度可定制化的属性,使得用户可以用非常低的成本搭建所需的工作环境,同时安装依赖的时候也非常方便,直接一条命令就安装好了。
CPU 上下文切换是保证 Linux 系统正常运行的核心功能。可分为进程上下文切换、线程上下文切换和中断上下文切换。
如果要罗列嵌入式江湖上受众比较广的几款应用处理器(带 cache、MMU 能跑 Linux 的 CPU 或者 MPU),i.MX 是一座绕不过的大山。
从2001年DDR内存面世以来发展到2019年的今天,已经走过了DDR、DDR2、DDR3、DDR4四个大的规格时代了(DDR5现在也出来了)。内存的工作频率也从DDR时代的266MHz进化到了今天的3200MHz。这个频率在操作系统里叫Speed、在内存术语里叫等效频率、或干脆直接简称频率。这个频率越高,每秒钟内存IO的吞吐量越大。但其实内存有一个最最基本的频率叫核心频率,是实际内存电路的工作时的一个振荡频率。它是内存工作的基础,很大程度上会影响内存的IO延迟。我今天想给大家揭开另外一面,这个叫核心频率的东东其实在最近的18年里,基本上就没有什么太大的进步。
Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,并最终生成一份性能统计文件。
高性能应用构成了现代网络的支柱。LinkedIn有许多内部高吞吐量服务来满足每秒数千次的用户请求。要优化用户体验,低延迟地响应这些请求非常重要。 比如说,用户经常用到的一个功能是了解动态信息——不断更
领取专属 10元无门槛券
手把手带您无忧上云