电脑硬盘读写哪个多
玩游戏时读取的多于写入的---------
因为你在玩网络游戏之前。已经把好几个g大的网游程序多安装到硬盘里。
在安装游戏的时候。写入多余读取。
之后,玩游戏的时候。读取多于写入。
你在玩游戏的时候。你从显示器看到的游戏画面场景,还有人物。不管是静态的画面人物。
还是动态的画面人物。包括游戏的声音和游戏的音乐,都是从你电脑的硬盘里读取调用的。
这些画面,声音道存放在你的硬盘的游戏文件夹里。
因为这么多的数据如果从网络上读取调用是不现实的。一个是现有的网速达不到,因为数据量太大了。再者,如果几万个用户都从网络服务器调用游戏画面和声音,服务器早瘫痪了。
还有,这些画面场景还有声音音乐相对都是固定不变的。没有必要从网络上调用读取,即使变也变化很小。如果变了。你玩游戏之前。就会让你更新游戏。安装小的补丁包。
你玩网游,走在里面,画面不停的变。这些都是硬盘读取的画面。
你看到的对方游戏人物也在变。你的游戏人物位置也在变。这些变化,都被看做点,被用坐标的数据表示,这些点的坐标被传给服务器,大家都的电脑多连接到服务器上,大家都把自己的坐标传到游戏服务器上,并且下载你在游戏换面能看到的对方人物的坐标。
这些坐标数据时很小的。无非就是x,y两个数据,入果是sd的游戏。就是xyz。三个数据
你在游戏地图里不走。坐标数据就不变。
举例。你在游戏地图的中间。那么你的坐标就是x(0),y(0),你在往右上方走一格。那就是x(1),y(1),如果从地图中间往正上方走一格,坐标就是x(0),y(1),你在游戏里走的同时。你的电脑业把这些数据同步的传到游戏服务器上了。其他玩家从游戏服务器里知道你的坐标,下载到自己电脑上。然后表现到自己电脑上,从自己的硬盘里调用游戏人物的,就呈现在他的显示器上了。
最后回答补充的问题。
浏览网页读写哪个多。要看你设置的网页临时文件夹的大小了。在浏览器的菜单---工具------internet选项----浏览历史记录设置--------internet临时文件里有个要使用的磁盘空间,可以调整大小,如果调的小了。就每次浏览网页都要删除就得数据,写入新的数据,如果调的大了。
有很多数据写入之后。会放很长时间。如果网页要调用的画面在临时文件夹里有的话。就会直接从电脑硬盘里的临时文件夹调取。而不会从网络上下载调用。这就是为什么把浏览器临时文件夹设置大点,浏览网页的速度会快点。因为很多以前浏览过的,如果你再次浏览以前浏览过的页面,很多从本地硬盘读取。
总结就是:临时文件设置的大。读的会比写的多点。前提是你经常浏览相对固定的网站。
如果调的小。那么写的回比读的多。
至于浏览网页和玩游戏哪个伤硬盘小些。要看使用的具体情况
反正你用电脑,不是读就是写。,你看一个网页的文字,老半天不换页面。那么硬盘就不读写了。这个时候硬盘没多大任务,不读不写。就对硬盘伤害小些。
如果你玩游戏。就呆在游戏的游戏一个地图区域不动。那么硬盘也就没有多少任务。也不读写
伤害小些。
如果要减少硬盘的伤害,那么最好购买硬盘时,就挑选硬盘缓存大的硬盘。
给自己的电脑配置尽量大的内存。
平时注意:做好不非法关机。不用bt迅雷等软件长期下载,就是下载,也要把软件设置里“硬盘缓存”设置大些。这样会减少对硬盘的伤害
不要在电压不稳的环境使用电脑
不要让硬盘太靠近大磁场,比如音箱的低音炮。最好距离远点。
不要在电脑开机的状态下挪动机箱。
总的来说。硬盘工作时。写比读伤硬盘
关于页面缓存的信息,可以用
cat /proc/meminfo
看到。其中的Cached 指用于pagecache的内存大小(diskcache-SwapCache)。随着写入缓存页,Dirty 的值会增加。
一旦开始把缓存页写入硬盘,Writeback的值会增加直到写入结束。
Linux 用pdflush进程把数据从缓存页写入硬盘,查看有多少个pdflush进程
cat /proc/sys/vm/nr_pdflush_threads
pdflush的行为受/proc/sys/vm中的参数的控制
/proc/sys/vm/dirty_writeback_centisecs (default 500):
1/100秒, 多长时间唤醒pdflush将缓存页数据写入硬盘。默认5秒唤醒2个(更多个)线程。
如果wrteback的时间长于dirty_writeback_centisecs的时间,可能会出问题。
pdflush的第一件事是读取
/proc/sys/vm/dirty_expire_centiseconds (default 3000)
1/100秒。缓存页里数据的过期时间(旧数据),在下一个周期内被写入硬盘。默认30秒是一个很长的时间。
第二件事是判断内存是否到了要写入硬盘的限额,由参数决定:
/proc/sys/vm/dirty_background_ratio (default 10)
百分值,保留过期页缓存(脏页缓存)的最大值。是以MmeFree+Cached-Mapped的值为基准的
pdflush写入硬盘看两个参数:
1 数据在页缓存中是否超出30秒,如果是,标记为脏页缓存;
2 脏页缓存是否达到工作内存的10%;
以下参数也会影响到pdflush
/proc/sys/vm/dirty_ratio (default 40)
总内存的最大百分比,系统所能拥有的最大脏页缓存的总量。超过这个值,开启pdflush写入硬盘。如果cache增长快于pdflush,那么整个系统在40%的时候遇到I/O瓶颈,所有的I/O都要等待cache被pdflush进硬盘后才能重新开始。
对于有高度写入操作的系统
dirty_background_ratio: 主要调整参数。如果需要把缓存持续的而不是一下子大量的写入硬盘,降低这个值。
dirty_ratio: 第二调整参数。
Swapping参数
/proc/sys/vm/swappiness
默认,linux倾向于从物理内存映射到硬盘缓存,保持硬盘缓存尽可能大。未用的页缓存会被放进swap区。
数值为0,将会避免使用swapping
100,将会尽量使用swapping
少用swapping会增加程序的响应速度;多用swapping将会提高系统的可用性。
如果有大量的写操作,为避免I/O的长时间等待,可以设置:
$ echo 5 > /proc/sys/vm/dirty_background_ratio
$ echo 10 > /proc/sys/vm/dirty_ratio
文件系统数据缓冲需要频繁的内存分配。加大保留内存的值能提升系统速度和稳定。小于8G的内存,保留内存为64M,大于8G的设置为256M
$ echo 65536 > /proc/sys/vm/min_free_kbytes
I/O 调度器
cat /sys/block/[disk]/queue/scheduler
4中调度算法
noop anticipatory deadline [cfq]
deadline : deadline 算法保证对既定的IO请求以最小的延迟时间。
anticipatory: 有个IO发生后,如果又有进程请求IO,则产生一个默认6ms猜测时间,猜测下一个进程请求IO是干什么。这对于随机读取会造成较大的延时。
对数据库应用很糟糕,而对于Web Server等则会表现不错。
cfq: 对每个进程维护一个IO队列,各个进程发来的IO请求会被cfq以轮循方式处理,对每一个IO请求都是公平。适合离散读的应用。
noop: 对所有IO请求都用FIFO队列形式处理。默认IO不会存在性能问题。
改变调度器
$ echo deadline > /sys/block/sdX/queue/scheduler
对于数据库服务器,deadline算法是推荐的。
提高调度器请求队列的
$ echo 4096 > /sys/block/sdX/queue/nr_requests
有大量的读请求,默认的请求队列应付不过来,可以提高这个值。缺点是要牺牲一定的内存。
为了增加连续读取的吞吐量,可以增加预读数据量。预读的实际值是自适应的,所以使用一个较高的值,不会降低小型随机存取的性能。
$ echo 4096 > /sys/block/sdX/queue/read_ahead_kb
如果LINUX判断一个进程在顺序读取文件,那么它会提前读取进程所需文件的数据,放在缓存中。
服务器遇到磁盘写活动高峰,导致请求处理延迟非常大(超过3秒)。通过调整内核参数,将写活动的高峰分布成频繁的多次写,每次写入的数据比较少。这样可以把尖峰的写操作削平成多次写操作。以这种方式执行的效率比较低,因为内核不太有机会组合写操作。但对于繁忙的服务器,写操作将更一致地进行,并将极大地改进交互式性能。
/proc/sys/vm/dirty_ratio
控制文件系统的写缓冲区的大小,单位是百分比,表示占系统内存的百分比,表示当写缓冲使用到系统内存多少的时候,开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值。
/proc/sys/vm/dirty_background_ratio
控制文件系统的pdflush进程,在何时刷新磁盘。单位是百分比,表示系统内存的百分比,pdflush用于将内存中的内容和文件系统进行同步,比如说,当一个文件在内存中进行修改,pdflush负责将它写回硬盘每当内存中的垃圾页(dirty page)超过10%的时候,pdflush就会将这些页面备份回硬盘增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值:
/proc/sys/vm/dirty_writeback_centisecs
控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,也就是 5 秒。如果你的系统是持续地写入动作,那么实际上还是降低这个数值比较好,这样可以把尖峰的写操作削平成多次写操作。
如果你的系统是短期地尖峰式的写操作,并且写入数据不大(几十M/次)且内存有比较多富裕,那么应该增大此数值。
该参数的设置应该小于dirty_expire_centisecs,但也不能太小,太小I/O太频繁,反而
使系统性能下降。具体可能需要在生产环境上测试。据说1:6 (dirty_expire_centisecs : dirty_writeback_centisecs )的比例比较好。
/proc/sys/vm/dirty_expire_centisecs
声明Linux内核写缓冲区里面的数据多“旧”了之后,pdflush进程就开始考虑写到磁盘中去。单位是 1/100秒。缺省是 30000,也就是 30 秒的数据就算旧了,将会刷新磁盘。对于特别重载的写操作来说,这个值适当缩小也是好的,但也不能缩小太多,因为缩小太多也会导致IO提高太快。
当然,如果你的系统内存比较大,并且写入模式是间歇式的,并且每次写入的数据不大(比如几十M),那么这个值还是大些的好。
/proc/sys/vm/vfs_cache_pressure
表示内核回收用于directory和inode cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode cache;增加该值超过100,将导致内核倾向于回收directory和inode cache
/proc/sys/vm/min_free_kbytes
表示强制Linux VM最低保留多少空闲内存(Kbytes)。
缺省设置:724(512M物理内存)
/proc/sys/vm/nr_pdflush_threads
表示当前正在运行的pdflush进程数量,在I/O负载高的情况下,内核会自动增加更多的pdflush进程。
/proc/sys/vm/overcommit_memory
指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存(参照overcommit_ratio)。
缺省设置:0
/proc/sys/vm/overcommit_ratio
如果overcommit_memory=2,可以过载内存的百分比,通过以下公式来计算系统整体可用内存。系统可分配内存=交换空间+物理内存overcommit_ratio/100
缺省设置:50(%)
/proc/sys/vm/page-cluster
表示在写一次到swap区的时候写入的页面数量,0表示1页,1表示2页,2表示4页。
缺省设置:3(2的3次方,8页)
/proc/sys/vm/swapiness
表示系统进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换。
更改:
/etc/sysctlconf
vmdirty_ratio = 40
sysctl -p
查看:
find /proc/sys/vm -name dirty -print | while read name; do echo $name ;cat ${name}; done
HDFS产生背景
随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统的一种。
HDFS定义
HDFS(hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件,其次,它是分布式的,由很多服务器联合起来来实现其功能,集群中的服务器有各自的角色。
HDFS的使用场景:适合一次写入,多次读出的场景,且不支持文件的修改,适合用来做数据分析,并不适合用来网盘应用。
HDFS优缺点
优点:
1高容错性
(1)数据自动保存多个副本,它通过增加副本的形式,提高容错性。
(2)某一个副本丢失以后,它可以自动恢复。
2适合处理大数据
(1)数据规模:能够处理数据规模达到GB,TB甚至PB级别的数据
(2)文件规模:能够处理百万规模以上的文件数量,数量相当之大。
3可构建在廉价的机器上,通过多副本机制,提高可靠性。
缺点:
1不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。
2无法高效的对大量小文件进行存储。
(1)存储大量的小文件的话,它只会占用NameNode大量的内存来存储文件目录和块信息。这样是不可取的,因为NameNode的内存总是有限的。
(2)小文件存储的是寻址时间会超过读取时间,它违反了HDFS的设计目标。
(3)不支持并发写入,文件随机修改
一个文件只能有一个写,不允许多个线程同时写。
仅支持数据的append(追加),不支持文件的随机修改。
HDFS组成架构
1NameNode(nn):就是Master,它是一个主管,管理者。
(1)管理HDFS的名称空间
(2)配置副本策略
(3)管理数据块(Block)映射信息
(4)处理客户端读写请求
2DataNode:就是Slave,NameNode下达命令,DataNode执行实际的操作。
(1)存储实际的数据块
(2)执行数据块的读/写操作
一般存储分为直连存储(DAS的)、IPSAN、光纤存储,前2个都属于低端存储,到了光纤存储才能叫中高端存储。在高端存储里面又根据对各种接口的支持、磁盘扩展的能力、产品的性能、以及各种高级数据保护的功能来划分存储的档次。一般上了纯光纤级别这个档次的磁盘阵列扩展能力都在200块硬盘以上。服务器的档次划分大体就分PC服务器、小型机、中型机、大型机了。一般指的服务器是指的X86架构下的PC服务器,PC服务器又分为单路、双路、多路以及纯64位的安腾服务器(安腾服务器不属于PC服务器范畴)。性能上单路就是个工作组级别的服务器,双路服务器差不多是个部门级的,一个不大的网站一台双路的就差不多可以跑起来,多路的一半作为数据库服务器应用(有四路和8路以及16路的产品),安腾的服务器性能基本上跟小型机是一个档次的。中型机和大型机的应用只有超大规模的单位才可以用得到,估计到大型机,全国也没有多少台。老外在这些方面是很黑的,一套大型机操作系统都可以卖我们3000多万美金甚至上亿。磁盘阵列的高端或低端不能单靠容量的多少作为判定条件。高端存储特征,内部带宽至少在1600MB以上,提供缓存保护的技术、可同时支持多个光纤/IP/SAS接口,硬盘类型也可以同时支持SSD/FC/SAS/SATA等等,可扩展200以上硬盘,提供存储和存储之间的镜像、数据快照、隔离、双向复制等等技术。存储到了高端之后,实际上不是拼的硬体指标,而是看的软件功能。EMC的存储为什么是世界第一的,就是这个原因,他们拼的是技术。
0条评论