目錄
Comments
Related posts:
首頁 php教程 php手册 Yac (Yet Another Cache) – 无锁共享内存Cache

Yac (Yet Another Cache) – 无锁共享内存Cache

Jun 06, 2016 pm 08:08 PM
cache yac 共享 記憶體 無鎖

作者: Laruence( ) 本文地址: http://www.laruence.com/2013/03/18/2846.html 转载请注明出处 好久没有更新blog了, 这一年来的工作确实很忙.. anyway, 今天终于有新东西可以和大家分享. 这个idea来自一个很简单的想法, 以及目前所遇到的一个机会. 首先我们来

  • 作者: Laruence(Yac (Yet Another Cache) – 无锁共享内存Cache Yac (Yet Another Cache) – 无锁共享内存Cache Yac (Yet Another Cache) – 无锁共享内存Cache Yac (Yet Another Cache) – 无锁共享内存Cache)
  • 本文地址: http://www.laruence.com/2013/03/18/2846.html
  • 转载请注明出处

好久没有更新blog了, 这一年来的工作确实很忙….. anyway, 今天终于有新东西可以和大家分享.

这个idea来自一个很简单的想法, 以及目前所遇到的一个机会. 首先我们来谈谈这个机会.

在以前, 很多人都会选择使用APC, APC除了提供Opcode Cache以外, 还会提供一套User Data Cache(apc_store/apc_fetch), 所以对于很多有需求使用User Data Cache的同学, 使用APC, 就没什么问题.

然而, 最近Zend Optimizer Plus开源了, 测试表明, Zend O+在Opcode Cache方面, 因为做了Opcode Cache优化, 所以会比APC要高效, 再后来, PHP5.5已经把Zend O+作为了源代码的一部分. 会随着PHP一起发布.

这就有了个问题, 对于那些既要使用Zend O+的Opcode Cache, 又要使用APC的User Data Cache的同学, 怎么办呢?

开始的时候, 我只是给APC增加了一个开关apc.opcode_cache_enable, 这样一来, 用户就可以使用APC然而关闭opcode cache来达到这个目的, 但是APC的User Data Cache使用的存储机制是和Opcode Cache一样的, 这样的场景要求数据严格正确, 所以锁会比较多, 测试表明, APC的User Data Cache的效率和本地memcached几乎相当.

所以, 我想到了这个idea, 单独开发一个基于共享内存的, 高性能的User Data Cache, 来满足:

  • 1. 我就是想让PHP进程之间共享一些简单的数据
  • 2. 我希望非常高效的缓存一些页面结果

Okey, 那么叫什么呢? 呵呵, 考虑到我之前的Yaf, Yar, 那么自然就叫Yac啦, :)

言归正传, 谈谈这个无锁的共享内存Cache的设计思路, 首先, 这个设计基于如下几个经验假设:

  • 1. 对于一个应用来说, 同名的Cache键, 对应的Value, 大小几乎相当.
  • 2. 不同的键名的个数是有限的.
  • 3. Cache的读的次数, 远远大于写的次数.
  • 4. Cache不是数据库, 即使Cache失效也不会带来致命错误.
  • 5. 典型的应用场景类似于:
    <?php if (!($data = cache_fetch($key))) {
             /* cache不存在 */
             $data =  从接口/数据库取数据();
             cache_set($key, $data);
        }
    ?>
    
    登入後複製

好, 基于这些假设, 我们来看看如何实现Yac, 首先Cache最常用的就是读了, 那么能不能做到读不加锁呢?

这个很容易, 不加锁的读, 拿到以后做数据校验, 如果校验成功, 增说明查询成功, 否则就认为查询失败, 这是一种常用的采用CPU来换锁的方法. 对于目前的服务器, 大部分都是多核的, 如果是加锁, 那么对CPU是一个极大的浪费.

那么, 与其让这些CPU空闲, 不如大家同时读, 大不了回来多做一个数据校验(Yac 采用的是crc校验)

okey, 读锁很容易解决, 但是写锁呢? 我们先来看看Yac的共享内存分配模型图:

Key空间在启动的时候就是确定大小的, 这个是基于上面的假设(2), 默认的(在64位Linux上), Yac会开辟32768个Key Slots, 也就是说你最多可用存储32768个不同的Cache值, 当然这个大小你可以通过yac.keys_memory_size来调整, 如果你设置yac.keys_memory_size为32M的话, 你就能得到262144个Key Slots.

Yac采用双散列法来解决Hash冲突, 首选的Hash函数是进来比较流行的 MurmurHash.

共享内存会被按照固定带下分为尽量多的小块, 默认是4M一小块, 然后Key的值会根据Key的Hash, 来选择到底在那一块内存上申请空间, 从而减少写的时候可能的冲突.

而对于大块内存分配的时候, 只需要操作一个segment->pos指针, 也就是只需要做一个加操作, 从而减少多个进程同时在同一块内存分配的时候可能出现的冲突.

那么, 万一真正的发生了冲突呢? 比如A进程申请了40字节, B进程申请了60字节, 但是Pos只增加了60字节. 这个时候有如下几种情况:

1. A写完了数据, 返回成功, 但是B进程又写完了数据返回成功, 最终B进程的Cache种上了, 而A进程的被踢出了.

2. B进程写完了数据, 返回成功, A进程又写完了数据返回成功, 最终A进程的Cache种上了, B进程的被踢出.

3. A进程写一半, B进程写一半, 然后A进程又写一半, B进程又写一半, 都返回成功, 但最终, 缓存都失效.

可见, 最严重的错误, 就是A和B的缓存都失效, 但是Yac不会把错误数据返回给用户, 当下一次来查询Cache的时候, 因为存在crc校验, 所以都miss.

那么, 考虑到上面的假设(3), (4), (5), okey, Not a big deal, 对吧? 没关系, 错就错吧, 呵呵

那么, 当内存写满了呢? 再看上面的内存分配图, 注意到红色的部分没有?

当一个新的Key到来的时候, Yac会尝试查找合适的Key Slot, 如果找到同名的Key, 那么紧接着判断原来Key的Value内存大小, 考虑到假设(1), 并且Yac在分配内存的时候, 会有意的多给一些内存. 所以, 很大的概率上, 你不需要重新分配内存, 只需要再原有的内存基础上写入新数据即可.

那么万一原有的内存不够呢? 那就分配呗.

这个时候, 假设内存已经分配完了, Yac就会在选定的内存快上, 重置pos, 从头开始分配, 注意到上图的红色部分, 就是新写入的数据, 而黄色部分就是因为写入的新数据, 导致Cache失效的部分. 也就是说, 并不会导致大量的Cache失效.

那么, 万一Key Slots不够了呢?

Yac会从目地Key Slots开始, 根据Hash路径, 选取5个Keys slot, 根据LRU, 踢出一个.

那么, 这样的Cache, 性能到底怎么样呢? 我做了一个和APC对比的简单测试(ab -n 10000 -c 50), 测试脚本如下:

Yac:

<?php $yac = new Yac();

for ($i = 0; $i<1000; $i++) {
    $key =  "xxx" . rand(1, 10000);
    $value = str_repeat("x", rand(1, 10000));

    if (!$yac->set($key, $value)) {
        var_dump("write " . $i);
    }

    if ($value != ($new = $yac->get($key))) {
        var_dump("read " . $i);
    }
}

var_dump($i);
登入後複製

APC:


<?php for ($i = 0; $i<1000; $i++) {
    $key =  "xxx" . rand(1, 10000);
    $value = str_repeat("x", rand(1, 10000));

    if (!apc_store($key, $value)) {
        var_dump("write " . $i);
    }

    if ($value != ($new = apc_fetch($key))) {
        var_dump("read " . $i);
    }
}

var_dump($i);
登入後複製

最终的结果:
Yac

Write errors:           0
Total transferred:      597358 bytes
HTML transferred:       368358 bytes
Requests per second:    359.69 [#/sec] (mean)
Time per request:       139.010 [ms] (mean)
Time per request:       2.780 [ms] (mean, across all concurrent requests)
Transfer rate:          209.83 [Kbytes/sec] received
登入後複製

APC的:

Write errors:           0
Total transferred:      7050591 bytes
HTML transferred:       6828577 bytes
Requests per second:    46.79 [#/sec] (mean)
Time per request:       1068.502 [ms] (mean)
Time per request:       21.370 [ms] (mean, across all concurrent requests)
Transfer rate:          322.20 [Kbytes/sec] received
登入後複製

好了, 主要的思想就是这些, 接下来说说Yac的限制吧:

1. key的长度最大不能超过48个字符. (我想这个应该是能满足大家的需求的, 如果你非要用长Key, 可以MD5以后再存)

2. Value的最大长度不能超过64M, 压缩后的长度不能超过1M.

3. 当内存不够的时候, Yac会有比较明显的踢出率, 所以如果要使用Yac, 那么尽量多给点内存吧.

感谢@cydu @cunsheng @rodin, @猫咪的万岁爷_宋Q等同学给的建议.

最后, Yac的代码已经上传到了github: Yac, 不过目前还是完善阶段, 还不支持Windows, 我会继续完善, 有兴趣的同学可以抢先试用, 更加感谢如果能帮忙找找bug, 做做优化. thanks :)


Comments

  • 2013/03/18, FtMan writes: 赞,鸟哥V5
  • 2013/03/18, shaukei writes: 广告位招租
  • 2013/03/18, 花生 writes: 支持鸟哥!! 前排占座!! 广告位招租!!
  • 2013/03/18, liexusong writes: 我觉得这个应用使用自旋锁会比较好, 因为读取内存不会花费很多时间.
  • 2013/03/18, easy writes: 牛逼~
  • 2013/03/18, M2 writes: 阅,先了解了。 鸟哥 v5
  • 2013/03/18, bide writes: 请问下黄色部分cache为什么会失效?
  • 2013/03/18, Actrace writes: 没用过APC,,,这样的设计性能肯定比memcached好,但是可以考虑在内存中建立一个简单的文件系统来实现可调整的内存空间,K/V模式限制了灵活性,虽然性能不错。但是我想如果追求性能的话,应该不会采用PHP来写。我可能宁愿实用tmpfs来共享进程数据。
  • 2013/03/18, 徐长龙 writes: 鸟哥是不是说你对读取以前需要“锁”的内容作了一次hash保存在读取区 每次读取后对读取内容进行hash,以此来判断读取的数据完整性? 如果是错误的那么重复读取一次? 可以这么理解吗?
  • 2013/03/18, pysche writes: 请教一下: 1. apc. opcode_cache_enable这个配置项已经支持了么?文档及phpinfo里面都没有看到 2. 如果同时安装apc和optimizerplus,opcache部分由谁处理?
  • 2013/03/18, hkshadow writes: 循环利用……为了避免此类缓存无法写入和提出的情况下,还得加大内存,来满足内存的吃紧,但一般来说,这够了,以上本人挫见,见谅。
  • 2013/03/18, 徐长龙 writes: 多线程并发写是否会出问题?
  • 2013/03/18, Cary writes: 鸟哥威武! 学习下~~~
  • 2013/03/18, hilojack writes: linuxsir 又有福了
  • 2013/03/18, darasion writes: 又见 yet another ... 哈。。。
  • 2013/03/18, hliang writes: 为啥make的时候给我报了一个“/yac/storage/yac_storage.c:38:5: 错误: 与‘yac_storage_startup’类型冲突”呢。
  • 2013/03/18, hliang writes: 更新了源码,好了。
  • 2013/03/18, goosman.lei writes: 是好久没见鸟哥维护blog了.... 先fork了改天抽空看看鸟哥新作...学习学习..
  • 2013/03/19, Christopher Jones writes: One other user-data cache project for PHP 5.5 is https://github.com/krakjoe/apcu
  • 2013/03/19, Kyli writes: 终于又有更新了,
  • 2013/03/19, cys.tony writes: 反正不需要保证数据可靠性,怎么快怎么来吧
  • 2013/03/19, justdoit writes: 等了好久,终于更新了!
  • 2013/03/21, Anonymous writes: 终于有更新了 鸟哥
  • 2013/03/26, php writes: 关注好久了,终于更新了,这下又有新东西可以学习了,呵呵,谢谢分享哦
  • 2013/03/28, wenson smith writes: 佩服的我六体投地~
  • 2013/03/29, 四不象 writes: 这样写入时很容易形成热点吧。比如下面情景:网站全局配置信息保存在缓存里,当配置文件更新缓存失效时,可能会有几百个请求同时重新将新的配置信息写入缓存。那样配置信息成功写入的可能性就大大降低了。 既然缓存的使用情景设定为读多写少,那就写的时候加锁,读的时候不加锁,如果数据校验错误,尝试二次读取,读取的时候加锁
  • 2013/03/29, 雪候鸟 writes: @四不象 恩, 对于你说的场景确实是有一定的概率会这样, 因为我们无锁, 所以就是last win, 不过, 对于Yac解决的场景来说, 比如我们的场景是, Cache用作用户信息缓存, 或者页面输出缓存, 因为都是以UID作为key的一部分, 一个用户会话同事也不会有多个请求产生, 所以不需要这个写锁. 我后续可以考虑加个选项: 是否开启写锁, 来满足你假设的这种场景.(当然, 这种场景也不一定就一定会热点, 三个前提, 1. 请求繁忙, 2. 请求处理时间快, 3. 配置文件比较大) , 谢谢
  • 2013/04/28, Yac (Yet Another Cache) – 无锁共享内存Cache | 午后小憩 writes: [...] 本文地址: http://www.laruence.com/2013/03/18/2846.html [...]
  • 2013/05/29, 鸚鵡 writes: 您好 我下載了 yac 並安裝使用 但是我察覺到一個現象 我的伺服器是 fedora 14,並安裝 cacti 當我使用 yac 時,系統定時執行 cacti 的 poller.php 時 程序會無法正常結束,並出現錯誤訊息: Segmentation fault /var/log/message 中會出現下面的訊息 kernel: [1242737.739304] php[14321]: segfault at 7f96b2f136b6 ip 00007f96b2f136b6 sp 00007fff9d9b53b0 error 14 in libgpg-error.so.0.7.0[7f96b3276000+a3000] kernel: [1242737.801953] php[14322]: segfault at 7fa134d686b6 ip 00007fa134d686b6 sp 00007fff66eedb90 error 14 in libgpg-error.so.0.7.0[7fa1350cb000+a3000] kernel: [1242737.855070] php[14323]: segfault at 7f8eaf5ba6b6 ip 00007f8eaf5ba6b6 sp 00007fff4d4c7e60 error 14 in libgpg-error.so.0.7.0[7f8eaf91d000+a3000] 若需要提供更多的資訊,請告訴我
  • 2013/05/29, laruence writes: @鸚鵡 请试用最新的snapshot, https://github.com/laruence/yac 另外, 也可以在github上新建一个issue, 附上你的测试脚本, thanks
  • 2013/05/29, 鸚鵡 writes: 您好 更新後,已經不會在發生了 感謝您的協助
  • 2013/05/30, 鸚鵡 writes: 另外想請教一個問題 key的长度最大不能超过48个字符 在 utf8 編碼的情況下 每個中文字會佔用幾個字符?
  • 2013/06/08, rayban writes: 大神啊 原来APC 是您弄出来了, 自从驾了APC感觉php快了挺多的
  • 2013/06/11, Andy writes: Thanks very much
  • 2013/07/05, ahuo writes: 安装好之后 重启了php 没有看到 var_dump(class_exists('Yac')) 还是没有啊 这个是啥情况啊?
  • 2013/07/05, ahuo writes: yac 安装好了 用了下 速度蛮快的 期待鸟哥出个详细的手册啊
  • 2013/07/06, testdown writes: 关注此项目。
  • 2013/07/06, testdown writes: add('key', 'value'); echo $yac->delete('key'); // 输出 true echo $yac->delete('key'); // 还输出 true ?> 第二次删除还输出 true,就是这么设计的吗?
  • 2013/07/06, testdown writes: bug: $yac = new Yac('DEV:'); echo $yac->set('A', 10000, 1); echo $yac->set('A', 10000, 1); // false echo $yac->set('A', '10000', 1); // true echo $yac->set('A', 10000, 1); // true 把 ttl 参数去掉没问题。
  • 2013/07/07, testdown writes: 为什么我使用 Yac::get() 获取不到 cas 的值呢? phpcode: $yac = new Yac('DEV:'); $yac->flush(); $yac->set('A', 'A'); $cas = 0; $yac->get('A', $cas); echo $cas; // 0 $yac->get(['A'], $cas); echo $cas; // 0
  • 2013/07/07, testdown writes: 如果 Yac::get() 无法通过 &$cas 参数获得 CAS 编号,那么当获取一个键时,它返回一个 false。那这个 false 代表不存在此键还是该键其值就是 false 呢?
  • 2013/07/27, linux_chen writes: 鸟哥: 我在我PC机上压测了,有个疑问为什么我压的结果写比读还快呢?
  • 2013/08/09, Ce sera peutêtre the cas pour arab-speaking labour sitcom fofolpar writes: [...] lui Avant child Nous iron au Vélodrome sans appréhension en somme united nations authority Nouveauté encore chez Line6 united nations matin you can rewire haze chevy go indication key plans suv tahoe le langage Ces [...]
  • 2013/08/20, mark writes: 弱弱问一句 有没有帮助文档
  • 2013/09/16, MagentoEye writes: 请问:兼容apache 2.4的新版APC什么时候可以发布?
  • 2013/10/22, luckgo writes: 能不能增加类似于apc_bin_loadfile的方法呢?
  • 2014/01/10, webpage writes: Permanent installations in vehicles gave way to the portable Bag Phones, built with a cigarette lighter plug. You can then go through the hyperlink to observe the entire is a result of the Wikipedia site. To my mind the idea of woman president is something speculative, going past the generally accepted rules and also at the very best be subject to the theoretical and philosophical comprehension.
  • 2014/05/29, 项目常用软件及工具 | 学习笔记 writes: [...] 原来php加速软件一般用的是zend optimizer这个.现在5.3以后的版本就要使用opcache这个了.还有一些并发用的软件yar也推荐使用,这是一款RPC framework.这几款软件全部出自鸟哥之手.除外还有yac这个缓存框架,这个与apc这类的加速软件差不多. [...]
  • 2014/08/13, Dnbntravel.Com writes: There are several methods of making salvia extract. At times, there are company appointed distributors and companies also who sell their clothes and accessories at the wholesale or discounted prices. It depends how much you value your sight, if you want to have a long and illustrious time racing around the track or pulling 45ft heel clickers, you need to be able to see where you are going to land. Also visit my web page Credit Report Free, Dnbntravel.Com,
  • 2014/09/09, pest control islington writes: Paragraph writing is also a excitement, if you be familiar with then you can write or else it is difficult to write.
  • 2014/09/11, alex writes: yac在命令行下面存储的内容,在web端调用不到吗?
  • 2014/09/19, nxy.in writes: Spot on with this write-up, I honestly think this site needs far more attention. I'll probably be back again to read through more, thanks for the advice! my blog post :: 105.1, nxy.in,
  • 2014/09/25, Kenny writes: When someone writes an article he/she retains the plan of a user in his/her brain that how a user can know it. Thus that's why this piece of writing is great. Thanks! Look at my page - dating on line (Kenny)
  • 2014/10/10, Jeannette writes: Hi there, always i used to check blog posts here early in the break of day, as i enjoy to find out more and more.
  • 2014/11/01, itekiro battery charger es writes: Your style is unique compared to other people I've read stuff from. Many thanks for posting when you have the opportunity, Guess I will just book mark this web site.

  • Firefox DNS Cache 清除 扩展 V0.1
  • 浏览器缓存机制
  • PHP对程序员的要求更高
  • pkg-config与LD_LIBRARY_PATH
  • Zend引擎的优化

Copyright © 2010 风雪之隅 版权所有, 转载务必注明. 该Feed只供个人使用, 禁止未注明的转载或商业应用. 非法应用的, 一切法律后果自负. 如有问题, 可发E-mail至my at laruence.com.(Digital Fingerprint: 73540ba0a1738d7d07d4b6038d5615e2)
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
大內存優化,電腦升級16g/32g內存速度沒什麼變化怎麼辦? 大內存優化,電腦升級16g/32g內存速度沒什麼變化怎麼辦? Jun 18, 2024 pm 06:51 PM

對於機械硬碟、或SATA固態硬碟,軟體運轉速度的提升會有感覺,如果是NVME硬碟,可能感覺不到。一,註冊表導入桌面新建一個文字文檔,複製貼上如下內容,另存為1.reg,然後右鍵合併,並重新啟動電腦。 WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]"DisablePagingExecutive"=d

小米14Pro如何查看記憶體佔用? 小米14Pro如何查看記憶體佔用? Mar 18, 2024 pm 02:19 PM

最近,小米發布了一款功能強大的高階智慧型手機小米14Pro,它不僅外觀設計時尚,而且擁有內在和外在的黑科技。這款手機擁有頂級的性能和出色的多工處理能力,讓用戶能夠享受快速且流暢的手機使用體驗。但效能也是會收到記憶體的影響的,很多用戶想要知道小米14Pro如何查看記憶體佔用,趕快來看看吧。小米14Pro如何查看記憶體佔用?小米14Pro查看記憶體佔用方法介紹開啟小米14Pro手機【設定】中的【應用程式管理】按鈕。查看已安裝的所有應用程式列表,瀏覽列表並找到你想查看的應用,點擊它進入應用程式詳細頁面。在應用程式詳細頁面中

企業微信如何分享螢幕 企業微信如何分享螢幕 Feb 28, 2024 pm 12:43 PM

越來越多的企業選擇使用專屬的企業微信,這不僅便於企業與客戶、合作夥伴之間的溝通和交流,也大大提高了工作效率。企業微信功能豐富,其中,共享螢幕功能備受歡迎。在會議過程中,透過分享螢幕,與會者可以更直觀地展示內容,從而更有效率地協作。那麼究竟該如何在企業微信中高效的共享自己的螢幕呢,還不了解的用戶們,這篇教程攻略就將為大家帶來詳細的內容介紹,希望能幫助到大家!企業微信怎麼共享螢幕? 1.在企業微信主介面的左側藍色區域內可以看到有一列功能,我們找到「會議」這個圖標,點擊進入之後,就會出現三種會議模式

wallpaperengine如何分享給好友 wallpaperengine如何分享給好友 Mar 18, 2024 pm 10:00 PM

用戶在使用wallpaperengine時可以將獲得的壁紙共享給好友,有很多用戶不知道wallpaperengine如何共享給好友,可以將自己喜歡的壁紙保存到本地之後再通過社交軟體的方式分享給朋友。 wallpaperengine如何分享給好友答:在儲存到本地之後分享給朋友。 1.建議大家可​​以將自己喜歡的桌布保存到本地之後再透過社群軟體的方式分享給朋友。 2.也可以透過資料夾的方式上傳到電腦端,然後在電腦端用創意工坊的功能點擊分享。 3.在電腦端使用Wallpaperengine,打開創意工坊的選項列找到

電腦8g和16g記憶體差別大嗎? (電腦記憶體選8g還是16g) 電腦8g和16g記憶體差別大嗎? (電腦記憶體選8g還是16g) Mar 13, 2024 pm 06:10 PM

  新手用戶在購買電腦時,會好奇電腦記憶體8g和16g有什麼差別?應該選擇8g還是16g呢?針對這個問題,今天小編就來跟大家詳細說明一下。  電腦記憶體8g和16g的差別大嗎?  1、在一般家庭或是普通工作使用,8G運行記憶體可以滿足,因此在使用過程中8g和16g區別不大。  2、遊戲愛好者使用時候,目前大型遊戲基本上是6g起步,8g是最低標準。目前在螢幕是2k的情況下,更高解析度並不會帶來更高的幀數表現,因此對8g和16g也無較大差異。  3、對於音訊、視訊剪輯使用者來說,8g和16g會出現明顯區

消息稱三星電子、SK 海力士堆疊式行動記憶體 2026 年後商業化 消息稱三星電子、SK 海力士堆疊式行動記憶體 2026 年後商業化 Sep 03, 2024 pm 02:15 PM

本站9月3日消息,韓媒etnews當地時間昨報道稱,三星電子和SK海力士的「類HBM式」堆疊結構行動記憶體產品將在2026年後實現商業化。消息人士表示這兩大韓國記憶體巨頭將堆疊式行動記憶體視為未來重要收入來源,並計劃將「類HBM記憶體」擴展到智慧型手機、平板電腦和筆記型電腦中,為端側AI提供動力。綜合本站先前報導,三星電子的此類產品叫做LPWideI/O內存,SK海力士則將這方面技術稱為VFO。兩家企業使用了大致相同的技術路線,即將扇出封裝和垂直通道結合在一起。三星電子的LPWideI/O內存位寬達512

三星宣布完成 16 層混合鍵結堆疊製程技術驗證,預計在 HBM4 記憶體大面積應用 三星宣布完成 16 層混合鍵結堆疊製程技術驗證,預計在 HBM4 記憶體大面積應用 Apr 07, 2024 pm 09:19 PM

報告稱,三星電子的高層DaeWooKim表示,在2024年韓國微電子和封裝學會年會上,三星電子將完成採用16層混合鍵結HBM記憶體技術的驗證。據悉,這項技術已通過技術驗證。報告也稱,此次技術驗證將為未來若干年內的記憶體市場發展奠定基礎。 DaeWooKim表示,三星電子成功製造了基於混合鍵合技術的16層堆疊HBM3內存,該內存樣品工作正常,未來16層堆疊混合鍵合技術將用於HBM4內存量產。 ▲圖源TheElec,下同相較現有鍵合工藝,混合鍵結無需在DRAM記憶體層間添加凸塊,而是將上下兩層直接銅對銅連接,

已安裝的記憶體未顯示在Windows 11上 已安裝的記憶體未顯示在Windows 11上 Mar 10, 2024 am 09:31 AM

如果您已經安裝了新的RAM,但它沒有顯示在您的Windows電腦上,本文將幫助您解決此問題。通常,我們會透過升級RAM來提高系統的效能。然而,系統效能也取決於其他硬件,如CPU、SSD等。升級RAM也可以提升您的遊戲體驗。有些使用者註意到安裝的內存在Windows11/10中沒有顯示。如果您遇到這種情況,您可以使用此處提供的建議。已安裝的記憶體未顯示在Windows11上如果您的Windows11/10PC上沒有顯示已安裝的RAM,以下建議將對您有所幫助。安裝的記憶體是否與您的電腦主機板相容?在BIO

See all articles