安卓使用memtester进行内存压力测试

memteser简介

memtester 是一个用于测试内存可靠性的工具。
它可以对计算机的内存进行压力测试,以检测内存中的错误,例如位翻转、随机存取错误等。memtester 可以在不同的操作系统上运行,并且可以针对不同大小的内存进行测试。

下载源码

memtester官方地址
https://pyropus.ca./software/memtester/
最新源码下载版本是4.6.0
下载源码解压后文件比较简单:
memtester源码目录

内置到安卓SDK

把这个文件夹放到android sdk下的externel中重命名为memtester
创建Android.mk放memtester中

LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES:= \memtester.c \tests.cLOCAL_MODULE:= memtester
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)

编译

在sdk中

  1. source build/envsetup.sh
  2. lunch xxx
    这里的xxx不同的平台不一样.
  3. mmm external/memtester/

编译出错

external/memtester/memtester.c:143:22: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]if (env_testmask = getenv("MEMTESTER_TEST_MASK")) {~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/memtester/memtester.c:143:22: note: place parentheses around the assignment to silence this warningif (env_testmask = getenv("MEMTESTER_TEST_MASK")) {^(                                           )
external/memtester/memtester.c:143:22: note: use '==' to turn this assignment into an equality comparisonif (env_testmask = getenv("MEMTESTER_TEST_MASK")) {^==
external/memtester/memtester.c:314:75: error: arithmetic on a pointer to void is a GNU extension [-Werror,-Wpointer-arith]aligned = (void volatile *) ((size_t) buf & pagesizemask) + pagesize;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
external/memtester/memtester.c:367:67: error: arithmetic on a pointer to void is a GNU extension [-Werror,-Wpointer-arith]aligned = (void volatile *) ((size_t) buf & pagesizemask) + pagesize;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
external/memtester/memtester.c:239:9: error: variable 'memshift' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized]default:^~~~~~~
external/memtester/memtester.c:243:55: note: uninitialized use occurs herewantbytes_orig = wantbytes = ((size_t) wantraw << memshift);^~~~~~~~
external/memtester/memtester.c:121:29: note: initialize the variable 'memshift' to silence this warningint memfd, opt, memshift;

在Android.mk中添加上一行

  LOCAL_CFLAGS += -Wno-parentheses \-Wno-pointer-arith \-Wno-sometimes-uninitialized

编译成功后生成 sdkout/xx/system/bin/memtester

放到安卓设备上

把memtester放到安卓设备上
adb root
adb remount
adb push memtester /system/bin/

memtester测试指令

放到设备上后,就可以进行测试了
以下是一些常见的 memtester 测试命令示例:

  1. 基本测试:
    memtester <内存大小> <测试次数>:这是最基本的用法,比如 memtester 1G 10,表示测试 1GB 的内存,测试 10 次。如果不指定测试次数,memtester 会一直测试下去,直到你手动中断(通常使用 Ctrl + C)。
  2. 指定内存范围测试(适用于特定硬件开发或深入排查问题):
    memtester -p <起始物理地址(十六进制)> <内存大小>:这种方式可以测试特定物理地址开始的一段内存。例如,如果要测试从物理地址 0x10000000 开始的 512MB 内存,可以使用 memtester -p 0x10000000 512M。请注意,这种测试可能会覆盖正在使用的系统内存或其他应用程序的内存,导致系统崩溃,所以要谨慎使用。
  3. 结合其他参数进行测试:
    memtester -d <设备文件>:通过 -d 参数指定一个设备文件来进行测试。默认情况下,memtester 会使用 /dev/mem 设备文件,但在某些特殊情况下,你可能需要指定其他的内存映射设备文件。例如,如果你的系统中有一个特殊的内存设备 /dev/my_memory_device,你可以使用 memtester -d /dev/my_memory_device 100M 5 来测试该设备对应的 100MB 内存,测试 5 次。
    作者:帅得不敢出门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/55480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[单master节点k8s部署]29.Istio流量管理(五)

测试istio熔断管理。 采用httpbin镜像和fortio镜像&#xff0c;其中httpbin作为服务端&#xff0c;fortio是请求端。这两个的配置yaml文件都在istio的samples/httpbin目录下&#xff0c;fortio的配置文件在samples-client目录下。 [rootmaster httpbin]# ls gateway-api ht…

国外电商系统开发-运维系统执行设备属性

为了方便使用&#xff0c;开发了双击网络设备图标&#xff0c;就进入交互式命令终端&#xff0c;在这里您可以执行如cd&#xff0c;top&#xff0c;ping这样的交互命令&#xff0c;但仍然不支持部分交互命令&#xff0c;比如vim等。 您可以双击设备图标&#xff0c;或者是右键&…

如何从计算机的硬盘中恢复照片 - 成功

如何从计算机硬盘恢复图片&#xff1f; 与所有电子和机械设备一样&#xff0c;硬盘驱动器也可能由于任何原因而死机。如果您的系统硬盘驱动器已停止工作或在启动系统时听到振动声&#xff0c;则它有可能已死机。如果是这样的话&#xff0c;上面的数据呢&#xff1f; 不要惊慌…

Python使用matplotlib绘制图形大全(曲线图、条形图、饼图等)

matplotlib 的主要组成部分是 pyplot&#xff0c;它是一个类似于 MATLAB 的绘图框架。pyplot 提供了一个 MATLAB 式的接口&#xff0c;可以隐式地创建图形和轴&#xff0c;使得绘图变得简单。 以下是一个简单的 matplotlib 使用示例&#xff0c;用于绘制一条简单的折线图&…

高考选择在何方?揭秘空军、海军、民航三大招飞神秘机遇

空军招飞、海军招飞和民航招飞在全国普通高校招生体系中举足轻重&#xff0c;为国家培育众多优秀飞行人才。 空军招飞在国家多部门领导下&#xff0c;由空军与相关省&#xff08;区&#xff09;教育、公安部门组织实施&#xff0c;设有七个招飞中心。自 1987 年空军自主招飞以来…

28 基于51单片机的两路电压检测(ADC0808)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;通过ADC0808获取两路电压&#xff0c;通过LCD1602显示 二、硬件资源 基于KEIL5编写C代码&#xff0c;PROTEUS8.15进行仿真&#xff0c;全部资源在页尾&#xff0c;提供…

springboot中配置优先级

先来看在idea当中运行程序时&#xff0c;如何来指定Java系统属性和命令行参数。 系统属性 1、右键启动类&#xff0c;点击Edit Configuration 点击Modify options 选择Add VM options&#xff0c;就是系统属性 选择Program arguements&#xff0c;就是命令行参数 总结&#…

OpenAI 开发者大会!实时语音功能有API了,GPT-4o支持多模态微调,上下文cache功能上线

家人们&#xff01;十一假期第1天&#xff0c; OpenAI一年一度的开发者大会又来了惹&#xff01;今年的开发者大会分成三部分分别在美国、英国、新加坡三个地点举办&#xff0c;刚刚结束的是第一场。 去年的OpenAI开发者大会公布了GPT-4 Turbo和GPTs&#xff0c;今年没有大更新…

win10不想被强制更新win11怎么办?

还有一种办法是可以去联想官网下载一个工具&#xff0c;确实可行但是不能访问联想商店了&#xff0c;不过会限制一些微软游戏&#xff0c;比如我喜欢的腐烂国度2&#xff0c;所以我选择了这一种方式&#xff0c;亲测可行

外贸网站怎么搭建对谷歌seo比较好?

外贸网站怎么搭建对谷歌seo比较好&#xff1f;搭建一个网站自然不复杂&#xff0c;但要想搭建一个符合谷歌seo规范的网站&#xff0c;那就要多注意了&#xff0c;你的网站做的再酷炫&#xff0c;再花里胡哨&#xff0c;但如果页面都是js代码&#xff0c;或者页面没有源代码内容…

认识动态规划算法和实践(java)

前言 动态规划算法里面最有意思的一个东西之一。动态规划初学肯定会有一定晦涩难懂。如果我们去网上搜索&#xff0c;动态规划的资料&#xff0c;它一开始都是将很多的理论&#xff0c;导致会认为很难&#xff0c;但是这个东西实际上是有套路的。 动态规划的英语是Dynamic Pr…

Centos Stream 9备份与恢复、实体小主机安装PVE系统、PVE安装Centos Stream 9

最近折腾小主机&#xff0c;搭建项目环境&#xff0c;记录相关步骤 数据无价&#xff0c;丢失难复 1. Centos Stream 9备份与恢复 1.1 系统备份 root权限用户执行进入根目录&#xff1a; cd /第一种方式备份命令&#xff1a; tar cvpzf backup.tgz / --exclude/proc --exclu…

sentinel原理源码分析系列(一)-总述

背景 微服务是目前java主流开发架构&#xff0c;微服务架构技术栈有&#xff0c;服务注册中心&#xff0c;网关&#xff0c;熔断限流&#xff0c;服务同学&#xff0c;配置中心等组件&#xff0c;其中&#xff0c;熔断限流主要3个功能特性&#xff0c;限流&#xff0c;熔断&…

【Kubernetes】常见面试题汇总(五十二)

目录 116. K8S 集群服务暴露失败&#xff1f; 117.外网无法访问 K8S 集群提供的服务&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-…

社群团购中的用户黏性价值:以开源小程序多商户AI智能名片商城源码为例

摘要&#xff1a;本文探讨社群团购中的用户黏性价值&#xff0c;分析其与传统团购网站的区别&#xff0c;并阐述开源小程序多商户AI智能名片商城源码在增强社群团购用户黏性方面可能发挥的作用。 一、引言 在当今的商业环境中&#xff0c;社群团购逐渐成为一种重要的营销模式。…

如何设计能吸引下载的截图以及注意事项

应用商店优化包括两个方面&#xff1a;关键字优化&#xff08;吸引人们查看您的应用页面&#xff09;和屏幕截图优化&#xff08;将浏览量转化为下载量&#xff09;。两者相互依存&#xff0c;两者相辅相成&#xff0c;让您的应用获得应有的下载量。但是&#xff0c;如果浏览量…

Windows平台如何实现RTSP|RTMP流录像?

好多开发者使用场景&#xff0c;除了实现基础的低延迟RTSP、RTMP播放外&#xff0c;还需要实现RTSP、RTMP流数据的本地录像功能。本文以大牛直播SDK的Windows平台播放模块为例&#xff0c;介绍下如何实现RTSP、RTMP流录像。 功能设计 [拉流]支持拉取RTSP流录像&#xff1b; [拉…

rockylinux9安装软件报错

1、rocky linux9再安装软件的时候报错&#xff1a; [rootClient119 yum.repos.d]# yum -y install epel-release [rootClient119 yum.repos.d]# yum -y install libcgroup Extra Packages for Enterprise Linux 9 - x86_64 …

allegro精确画圆形边框

1.显示原点位置&#xff1a; 2.class-subclass依次选择Board Geometry-Outline 3.菜单ADD---Circle,右侧option,依次设置如下&#xff0c;如图可设置为圆心&#xff08;0&#xff0c;0&#xff09;&#xff0c;半径为42mm的边框&#xff0c;不要忘了右键Done&#xff0c;完成绘…

计算机毕业设计 Java酷听音乐系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…