linux下ssd电子盘速度检测 分类: arm-linux-Ubuntu 2015-05-07 15:40 307人阅读 评论(0) 收藏
2015-05-07 15:40
711 查看
代码:
写测试运行结果:
# ./test
# gcc ssd_test.c -o test -lpthread
# ./test
SSD Speed test begin!
SSD4 test over!
SSD0 test over!
SSD6 test over!
SSD1 test over!
SSD5 test over!
SSD7 test over!
SSD2 test over!
SSD3 test over!
ssd write speed:1563.73594MB/S(1.30968sec)
SSD Speed test over!
读测试运行结果:
# ./testSSD Speed test begin!
SSD1 test over!
SSD7 test over!
SSD3 test over!
SSD2 test over!
SSD4 test over!
SSD5 test over!
SSD6 test over!
SSD0 test over!
ssd read speed:2315.16042MB/S(0.34623sec)
SSD Speed test over!
#include<stdio.h> #include<sys/time.h> #include <fcntl.h> #include <pthread.h> unsigned char pbuffer[1024*1024*8];//共用缓冲 void testssd1(int *ch )//写测试 { int i=0; int fd; if(*ch==0) fd = open("/ssd1/test.dat", O_RDWR|O_CREAT); if(*ch==1) fd = open("/ssd2/test.dat", O_RDWR|O_CREAT); if(*ch==2) fd = open("/ssd3/test.dat", O_RDWR|O_CREAT); if(*ch==3) fd = open("/ssd4/test.dat", O_RDWR|O_CREAT); if(*ch==4) fd = open("/ssd5/test.dat", O_RDWR|O_CREAT); if(*ch==5) fd = open("/ssd6/test.dat", O_RDWR|O_CREAT); if(*ch==6) fd = open("/ssd7/test.dat", O_RDWR|O_CREAT); if(*ch==7) fd = open("/ssd8/test.dat", O_RDWR|O_CREAT); if(fd<0) { printf("%d open error!\n",*ch); return ; } for(i=0;i<32;i++) write(fd,pbuffer,1024*1024*8);//每次8M,共计256MB close(fd); printf("SSD%d test over!\n",*ch); return ; } void testssd2(int *ch )//读测试 { int i=0; int fd; if(*ch==0) fd = open("/ssd1/test.dat", O_RDWR|O_CREAT); if(*ch==1) fd = open("/ssd2/test.dat", O_RDWR|O_CREAT); if(*ch==2) fd = open("/ssd3/test.dat", O_RDWR|O_CREAT); if(*ch==3) fd = open("/ssd4/test.dat", O_RDWR|O_CREAT); if(*ch==4) fd = open("/ssd5/test.dat", O_RDWR|O_CREAT); if(*ch==5) fd = open("/ssd6/test.dat", O_RDWR|O_CREAT); if(*ch==6) fd = open("/ssd7/test.dat", O_RDWR|O_CREAT); if(*ch==7) fd = open("/ssd8/test.dat", O_RDWR|O_CREAT); if(fd<0) { printf("%d open error!\n",*ch); return ; } for(i=0;i<32;i++) read(fd,pbuffer,1024*1024*8); close(fd); printf("SSD%d test over!\n",*ch); return ; } int main() { printf("this is SSD Speed test begin!\n\n"); pthread_t _id[8]; int ret,i,ch[8]; struct timeval start; struct timeval end; float speed; for(i=0;i<1024*1024*8;i++)//初始化缓冲区 pbuffer[i] = i&0xff; gettimeofday(&start,NULL);//开始计时------------ for(i=0;i<8;i++) { ch[i] = i;//启动8个线程 ret=pthread_create(_id+i,NULL,(void *)testssd1,ch+i); if(ret!=0) { printf("Create pthread error!\n"); return -1; } } pthread_join(_id[0],NULL); //等待各自到线程结束 pthread_join(_id[1],NULL); pthread_join(_id[2],NULL); pthread_join(_id[3],NULL); pthread_join(_id[4],NULL); pthread_join(_id[5],NULL); pthread_join(_id[6],NULL); pthread_join(_id[7],NULL); gettimeofday(&end, NULL);//停止计时------------- speed = 1.0*(end.tv_sec-start.tv_sec)+(end.tv_usec-start.tv_usec)/1000000.0;//时间 printf("ssd write speed:%6.5fMB/S(%6.5fsec)\n",256.0*8/speed,speed); //速度 printf("this is SSD Speed test over!\n\n"); return 0; }
写测试运行结果:
# ./test
# gcc ssd_test.c -o test -lpthread
# ./test
SSD Speed test begin!
SSD4 test over!
SSD0 test over!
SSD6 test over!
SSD1 test over!
SSD5 test over!
SSD7 test over!
SSD2 test over!
SSD3 test over!
ssd write speed:1563.73594MB/S(1.30968sec)
SSD Speed test over!
读测试运行结果:
# ./testSSD Speed test begin!
SSD1 test over!
SSD7 test over!
SSD3 test over!
SSD2 test over!
SSD4 test over!
SSD5 test over!
SSD6 test over!
SSD0 test over!
ssd read speed:2315.16042MB/S(0.34623sec)
SSD Speed test over!
相关文章推荐
- linux下测试磁盘的读写IO速度 分类: arm-linux-Ubuntu 2015-05-07 11:18 326人阅读 评论(0) 收藏
- Windows XP下安装WinCE6.0开发环境 分类: arm-linux-Ubuntu 2014-10-13 10:31 555人阅读 评论(0) 收藏
- Linux分区和挂载(mount命令的学习) 分类: arm-linux-Ubuntu 2013-07-22 16:28 265人阅读 评论(0) 收藏
- OTG驱动分析(一) 分类: arm-linux-Ubuntu USB OTG驱动 2015-06-02 17:32 315人阅读 评论(0) 收藏
- linux 之 getopt_long() 分类: arm-linux-Ubuntu 2013-07-30 09:33 594人阅读 评论(0) 收藏
- 嵌入式linux------ffmpeg移植 解码H264(am335x解码H264到yuv420并通过SDL显示) 分类: arm-linux-Ubuntu TI-AM335X ffmpeg-SDL-VLC-Live555 2015-07-29 10:28 154人阅读 评论(0) 收藏
- V4L2驱动的移植与应用(三) 分类: arm-linux-Ubuntu 2013-08-16 08:41 473人阅读 评论(0) 收藏
- hi3531 SDK 编译 uboot, 修改PHY地址, 修改 uboot 参数 . 分类: arm-linux-Ubuntu HI3531 2014-06-18 08:55 1204人阅读 评论(0) 收藏
- TOE(TCP/IP Offload Engine)网卡与一般网卡的区别 分类: arm-linux-Ubuntu HI3531 2014-01-10 09:10 859人阅读 评论(0) 收藏
- 重新编译Linux内核必要性及其准备工作 分类: arm-linux-Ubuntu 2013-07-22 16:28 288人阅读 评论(0) 收藏
- ap module omap4460 分类: arm-linux-Ubuntu 2013-07-22 16:29 460人阅读 评论(0) 收藏
- OTG驱动分析(二) 分类: arm-linux-Ubuntu USB OTG驱动 2015-06-02 17:34 319人阅读 评论(0) 收藏
- Linux下挂载新硬盘方法 分类: arm-linux-Ubuntu 2015-01-24 09:41 550人阅读 评论(2) 收藏
- Linux开机启动图片修改 分类: arm-linux-Ubuntu TI-AM335X 2015-06-19 16:12 390人阅读 评论(0) 收藏
- linux 之 popen函数 分类: arm-linux-Ubuntu 2013-07-30 09:56 642人阅读 评论(0) 收藏
- linux下的APK反编译软件及过程介绍 . 分类: arm-linux-Ubuntu 2014-06-18 17:51 400人阅读 评论(0) 收藏
- RHEL64 缺少ISO 9660图像 安装程序试图挂载映像#1,在硬盘上无法找到该映像 分类: arm-linux-Ubuntu 2015-01-20 16:47 644人阅读 评论(0) 收藏
- ubuntu11.04启动 及虚拟文件系统 分类: arm-linux-Ubuntu 2013-07-22 16:28 369人阅读 评论(0) 收藏
- Pandaboard ES编译bootloader、xloader、内核、以及安卓系统 分类: arm-linux-Ubuntu 2013-07-22 16:29 367人阅读 评论(0) 收藏
- 如何编译linux第一个模块 hellomod.ko 分类: arm-linux-Ubuntu 2013-07-22 16:30 286人阅读 评论(0) 收藏