目录 1. 问题概述 2. stress 内存压力原理 2. cache 因素 2.1 未加压 2.2 加压(cpu/io) 3. 内存管理因素 3.1 内存分配/释放 3.2 MMU拥塞 4 总结 1. 问题概述 对ti am5728 xenomai系统latency测试时,在测试过程中发现,内存压力对latency影响极大,未添加内存压力下数据如下(注:文中所有测试使用默认gravity,对实时任务cpu已使用isolcpus=1隔离,另外文中的结论可能只对ARM平台有效): stress…
版权声明:本文为本文为博主原创文章,转载请注明出处.如有错误,欢迎指正. @ 目录 一.影响因素 1.硬件 2.BISO(X86平台) 3.软件 4. 缓存使用策略与GPU 二.优化措施 1. BIOS[x86] 2. 硬件 3. Linux 3.1 Kernel CMDLINE cpu隔离 Full Dynamic Tick Offload RCU callback 中断隔离 禁用irqbanlance intel 核显配置[x86] nmi_watchdog[x86] nosoftlocku…
转自:http://blog.csdn.net/u011461299/article/details/10199989 版权声明:本文为博主原创文章,未经博主允许不得转载. 在驱动程序的设计中,我们可能会用到flush_cache_all将ARM cache的内容刷新到RAM,这是因为ARM Linux中cache一般会被设定为write back的.而通常象DMA是访问不了cache,所以如果我们需要启动DMA将RAM中的内容写到Flash中或LCD framebuffer,那么我们就需要调用…
本篇博文主要介绍虚拟化的基本思想以及在arm平台如何做虚拟化,arm提供的硬件feature等等. 虚拟化技术简介 虚拟化技术 虚拟化是一个概念,单从这个概念的角度来看,只要是用某一种物品去模拟另一种物品都可以称为虚拟化,甚至于有些饭店用豆腐做出肉的味道,我认为这也可以称为一种虚拟化.但是这里我们主要讨论的是计算机领域的虚拟化,我们这样定义虚拟化"虚拟化是将单一物理设备模拟为相互隔离的多个虚拟设备,同时保证这些虚拟设备的高效性".这个概念的定义里还包含了对虚拟化的要求,也就是这里的隔离…
简介:代码的虚拟化即不直接通过CPU而是通过虚拟机来执行虚拟指令.代码虚拟化能有效防止逆向分析,可大大地增加了代码分析的难度和所需要的时间,若配合混淆等手段,对于动静态分析有着较强的防御能力. 背景:现在由于手机APP安全性缺乏导致用户敏感数据泄露的例子越来越多,APP开发者应该从开发阶段到运营阶段都关注APP安全防护问题,无论是漏洞还是病毒等等.今日分享一个与App安全相关的技术之一   —— 代码保护之虚拟化. 1.1什么是代码虚拟化? 我们知道程序的执行,是依靠CPU对于符合规范的指令集的…
本文转自CocoaChina,说的满详细的: 链接地址:http://www.cocoachina.com/bbs/read.php?tid=94017&keyword=%C4%DA%B4%E6 iOS平台内存常见问题 iOS内存暴增问题追查与使用陷阱    (2011-11-29 08:11:57)标签: autorelease , 内存暴增 , 内存泄漏    分类:编程技术, 贴吧技术 iOS平台的内存使用引用计数的机制,并且引入了半自动释放机制:这种使用上的多样性,导致开发者在内存使用上…
strace工具是一个非常强大的工具,是调试程序的好工具.要移植到arm平台,就需要使用交叉编译工具编译生成静态链接的可执行文件.具体步骤如下:1.下载 strace-4.5.16     移植strace调试工具到arm平台 由Linux系统中文网(Linux521.com)编辑收集整理,除Linux521注明原创文章外,其版权归原作者所有.如果您在学习中遇到问题欢迎在下面的评论中留言,我们会尽全力解答您的问题.   strace工具是一个非常强大的工具,是调试程序的好工具.要移植到arm平台…
ARM平台实现于仕琪人脸检测库YSQfastfd 平台要求 ARM32 platform hardware board Ubuntu 16.04 with GTK3 library USB camera (480P/720P), YUYV 步骤 - libgtk--dev libegl1-mesa-dev sudo git clone git@github.com:OAID/YSQfastfd.git cd YSQfastfd/ sudo make -j4 sudo chmod +x ./run…
title: arm平台的调用栈回溯(backtrace) date: 2018-09-19 16:07:47 tags: --- 介绍 arm平台的调用栈与x86平台的调用栈大致相同,稍微有些区别,主要在于栈帧的压栈内容和传参方式不同.在arm平台的不同程序,采用的编译选项不同,程序运行期间的栈帧也会不同.有些工具在对arm的调用栈回溯时,可能会遇到无法回溯的情况.例如gdb在使用bt查看core dump文件调用栈时,有时会出现Backtrace stoped的情况,有可能就是栈空间的压栈顺…
0x00:什么是代码虚拟化? 虚拟机保护是这几年比较流行的软件保护技术.这个词源于俄罗斯的著名软件保护软件“VmProtect”,以此为开端引起了软件保护壳领域的革命,各大软件保护壳都将虚拟机保护这一新颖的技术加入到自己的产品中.代码虚拟化是将程序代码编译为虚拟机指令即虚拟代码(自己定义的代码集),通过虚拟CPU解释并执行的一种方式,大致流程如下: 我们抛开ARM平台CPU流水线机制不谈,简单来说,其实CPU就是遵循一个简单的模式:循环读取.解码.执行这个过程. 0x01:为什么要指令虚拟化 首…