Rumah pembangunan bahagian belakang tutorial php 定位分析内存泄漏的原因和后果

定位分析内存泄漏的原因和后果

Sep 03, 2019 pm 05:20 PM
Ingatan sebab akibat daripada kebocoran

定位分析内存泄漏的原因和后果

内部泄漏错误代码:

Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)
Salin selepas log masuk

观察php程序内存使用情况

php提提供了两个方法来获取当前程序的内存使用情况。
memorygetusage(),这个函数的作用是获取目前PHP脚本所用的内存大小。

memorygetpeak_usage(),这个函数的作用返回当前脚本到目前位置所占用的内存峰值,这样就可能获取到目前的脚本的内存需求情况。

int memory_get_usage ([ bool $real_usage = false ] )  
int memory_get_peak_usage ([ bool $real_usage = false ] )
Salin selepas log masuk

函数默认得到的是调用emalloc()占用的内存,如果设置参数为TRUE,则得到的是实际程序向系统申请的内存。因为 PHP 有自己的内存管理机制,所以有时候尽管内部已经释放了内存但并没有还给系统。

linux 系统文件 /proc/{$pid}/status 会记录某个进程的运行状态,里面的 VmRSS 字段记录了该进程使用的常驻物理内存(Residence),这个就是该进程实际占用的物理内存了,用这个数据比较靠谱,在程序里面提取这个值也很容易 。

场景一:程序操作数据过大

情景还原:一次性读取超过php可用内存上限的数据导致内存耗尽

实例:

<?php  ini_set(&#39;memory_limit&#39;, &#39;128M&#39;);  
$string = str_pad(&#39;1&#39;, 128 * 1024 * 1024);    
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 134217729 bytes) 
in /Users/zouyi/php-oom/bigfile.php on line 3
Salin selepas log masuk

这是告诉我们程序运行时试图分配新内存时由于达到了PHP允许分配的内存上限而抛出致命错误,无法继续执行了,在 java 开发中一般称之为 OOM ( Out Of Memory ) 。
PHP 配置内存上限是在php.ini中设置memory_limit,PHP 5.2 以前这个默认值是8M,PHP 5.2 的默认值是16M,在这之后的版本默认值都是128M。
问题现象:特定数据处理时可复现,做任何 IO 操作都有可能遇到此类问题,比如:一次 mysql 查询返回大量数据、一次把大文件读取进程序等。

解决方法:

1、能用钱解决的问题都不是问题,如果程序要读大文件的机会不是很多,且上限可预期,那么通过ini_set('memory_limit', '1G');来设置一个更大的值或者memory_limit=-1。内存管够的话让程序一直跑也可以。

2、如果程序需要考虑在小内存机器上也能正常使用,那就需要优化程序了。如下,代码复杂了很多。

<?php  
//php7 以下版本通过 composer 引入 paragonie/random_compat ,为了方便来生成一个随机名称的临时文件  
require "vendor/autoload.php";    
ini_set(&#39;memory_limit&#39;, &#39;128M&#39;);  
//生成临时文件存放大字符串  
$fileName = &#39;tmp&#39;.bin2hex(random_bytes(5)).&#39;.txt&#39;;  
touch($fileName);  
for ( $i = 0; $i < 128; $i++ ) {      
$string = str_pad(&#39;1&#39;, 1 * 1024 * 1024);      
file_put_contents($fileName, $string, FILE_APPEND);  
}  
$handle = fopen($fileName, "r");  
for ( $i = 0; $i <= filesize($fileName) / 1 * 1024 * 1024; $i++ )  {     
//do something     
$string = fread($handle, 1 * 1024 * 1024);  
}    
fclose($handle);  
unlink($fileName);
Salin selepas log masuk

场景二、程序操作大数据时产生拷贝

情景还原:执行过程中对大变量进行了复制,导致内存不够用。

<?php  
ini_set("memory_limit",&#39;1M&#39;);    
$string = str_pad(&#39;1&#39;, 1* 750 *1024);  
$string2 = $string;  $string2 .= &#39;1&#39;;    
Fatal error: Allowed memory size of 1048576 bytes exhausted (tried to allocate 768001 bytes) 
in /Users/zouyi/php-oom/unset.php on line 8    
Call Stack:      
0.0004     235440   1. {main}() /Users/zouyi/php-oom/unset.php:0    zend_mm_heap corrupted
Salin selepas log masuk

问题现象:局部代码执行过程中占用内存翻倍。

问题分析:
php 是写时复制(Copy On Write),也就是说,当新变量被赋值时内存不发生变化,直到新变量的内容被操作时才会产生复制。

解决方法:

及早释放无用变量,或者以引用的形式操作原始数据。

<?php  
ini_set("memory_limit",&#39;1M&#39;);    
$string = str_pad(&#39;1&#39;, 1* 750 *1024);  
$string2 = $string;  unset($string);  
$string2 .= &#39;1&#39;;    
<?php  
ini_set("memory_limit",&#39;1M&#39;);    
$string = str_pad(&#39;1&#39;, 1* 750 *1024);  
$string2 = &$string;  
$string2 .= &#39;1&#39;;    
unset($string2, $string);
Salin selepas log masuk

场景三、配置不合理系统资源耗尽

情景还原:因配置不合理导致内存不够用,2G 内存机器上设置最大可以启动 100 个 php-fpm 子进程,但实际启动了 50 个 php-fpm 子进程后无法再启动更多进程 。

问题现象:线上业务请求量小的时候不出现问题,请求量一旦很大后部分请求就会执行失败 。

问题分析:一般为了安全方面考虑, php 限制表单请求的最大可提交的数量及大小等参数,post_max_size、max_file_uploads、upload_max_filesize、max_input_vars、max_input_nesting_level。 假设带宽足够,用户频繁的提交post_max_size = 8M数据到服务端,nginx 转发给 php-fpm 处理,那么每个 php-fpm 子进程除了自身占用的内存外,即使什么都不做也有可能多占用 8M 内存。

解决方法:合理设置post_max_size、max_file_uploads、upload_max_filesize、max_input_vars、max_input_nesting_level等参数并调优 php-fpm 相关参数。

php.ini代码

$ php -i |grep memory  
memory_limit => 1024M => 1024M //php脚本执行最大可使用内存  
$php -i |grep max  max_execution_time => 0 => 0 //最大执行时间,脚本默认为0不限制,web请求默认30s  
max_file_uploads => 20 => 20 //一个表单里最大上传文件数量  
max_input_nesting_level => 64 => 64 //一个表单里数据最大数组深度层数  
max_input_time => -1 => -1 //php从接收请求开始处理数据后的超时时间  
max_input_vars => 1000 => 1000 //一个表单(包括get、post、cookie的所有数据)最多提交1000个字段  
post_max_size => 8M => 8M //一次post请求最多提交8M数据  
upload_max_filesize => 2M => 2M //一个可上传的文件最大不超过2M
Salin selepas log masuk

如果上传设置不合理那么出现大量内存被占用的情况也不奇怪,比如有些内网场景下需要 post 超大字符串post_max_size=200M,那么当从表单提交了 200M 数据到服务端, php 就会分配 200M 内存给这条数据,直到请求处理完毕释放内存。

Php-fpm.conf代码

pm = dynamic //仅dynamic模式下以下参数生效  
pm.max_children = 10 //最大子进程数  
pm.start_servers = 3 //启动时启动子进程数  
pm.min_spare_servers = 2 //最小空闲进程数,不够了启动更多进程  
pm.max_spare_servers = 5 //最大空闲进程数,超过了结束一些进程  
pm.max_requests = 500 //最大请求数,注意这个参数是一个php-fpm如果处理了500个请求后会自己重启一下,
可以避免一些三方扩展的内存泄露问题
Salin selepas log masuk

一个 php-fpm 进程按 30MB 内存算,50 个 php-fpm 进程就需要 1500MB 内存,这里需要简单估算一下在负载最重的情况下所有 php-fpm 进程都启动后是否会把系统内存耗尽。

Ulimit代码

$ulimit -a
-t: cpu time (seconds)              unlimited  
-f: file size (blocks)              unlimited  
-d: data seg size (kbytes)          unlimited  
-s: stack size (kbytes)             8192  
-c: core file size (blocks)         0  
-v: address space (kbytes)          unlimited  
-l: locked-in-memory size (kbytes)  unlimited  
-u: processes                       1024  
-n: file descriptors                1024
Salin selepas log masuk

这是我本地mac os的配置,文件描述符的设置是比较小的,一般生产环境配置要大得多。

场景四、无用的数据未及时释放

情景还原:这种问题从程序逻辑上不是问题,但是无用的数据大量占用内存导致资源不够用,应该有针对性的做代码优化。

Laravel开发中用于监听数据库操作时有如下代码:

代码:

DB::listen(function ($query) {      
// $query->sql      
// $query->bindings      
// $query->time  
});
Salin selepas log masuk

启用数据库监听后,每当有 SQL 执行时会 new 一个 QueryExecuted 对象并传入匿名函数以便后续操作,对于执行完毕就结束进程释放资源的php程序来说没有什么问题,而如果是一个常驻进程的程序,程序每执行一条 SQL 内存中就会增加一个 QueryExecuted 对象,程序不结束内存就会始终增长。

问题现象:程序运行期间内存逐渐增长,程序结束后内存正常释放。

问题分析:此类问题不易察觉,定位困难,尤其是有些框架封装好的方法,要明确其适用场景。

解决方法:本例中要通过DB::listen方法获取所有执行的 SQL 语句记录并写入日志,但此方法存在内存泄露问题,在开发环境下无所谓,在生产环境下则应停用,改用其他途径获取执行的 SQL 语句并写日志。

深入了解

1、名词解释

内存泄漏(Memory Leak):是程序在管理内存分配过程中未能正确的释放不再使用的内存导致资源被大量占用的一种问题。在面向对象编程时,造成内存泄露的原因常常是对象在内存中存储但是运行中的代码却无法访问他。由于产生类似问题的情况很多,所以只能从源码上入手分析定位并解决。

垃圾回收(Garbage Collection,简称GC):是一种自动内存管理的形式,GC程序检查并处理程序中那些已经分配出去但却不再被对象使用的内存。最早的GC是1959年前后John McCarthy发明的,用来简化在Lisp中手动控制内存管理。 PHP的内核中已自带内存管理的功能,一般应用场景下,不易出现内存泄露。

追踪法(Tracing):从某个根对象开始追踪,检查哪些对象可访问,那么其他的(不可访问)就是垃圾。

引用计数法(reference count):每个对象都一个数字用来标示被引用的次数。引用次数为0的可以回收。当对一个对象的引用创建时他的引用计数就会增加,引用销毁时计数减少。引用计数法可以保证对象一旦不被引用时第一时间销毁。但是引用计数有一些缺陷:1.循环引用,2.引用计数需要申请更多内存,3.对速度有影响,4.需要保证原子性,5.不是实时的。

2、php内存管理

在 PHP 5.3 以后引入了同步周期回收算法(Concurrent Cycle Collection)来处理内存泄露问题,代价是对性能有一定影响,不过一般 web 脚本应用程序影响很小。PHP的垃圾回收机制是默认打开的,php.ini 可以设置zend.enable_gc=0来关闭。也能通过分别调用gcenable() 和 gcdisable()函数来打开和关闭垃圾回收机制。
虽然垃圾回收让php开发者在内存管理上无需担心了,但也有极端的反例:php界著名的包管理工具composer曾因加入一行gc_disable();性能得到极大提升。

3、php-fpm内存泄漏问题

在一台常见的 nginx + php-fpm 的服务器上:
nginx 服务器 fork 出 n 个子进程(worker), php-fpm 管理器 fork 出 n 个子进程。

当有用户请求, nginx 的一个 worker 接收请求,并将请求抛到 socket 中。

php-fpm 空闲的子进程监听到 socket 中有请求,接收并处理请求。

一个 php-fpm 的生命周期大致是这样的:

模块初始化(MINIT)-> 请求初始化(RINIT)-> 请求处理 -> 请求结束(RSHUTDOWN) -> 请求初始化(RINIT)-> 请求处理 -> 请求结束(RSHUTDOWN)……. 请求初始化(RINIT)-> 请求处理 -> 请求结束(RSHUTDOWN)-> 模块关闭(MSHUTDOWN)。

在请求初始化(RINIT)-> 请求处理 -> 请求结束(RSHUTDOWN)这个“请求处理”过程是: php 读取相应的 php 文件,对其进行词法分析,生成 opcode , zend 虚拟机执行 opcode 。
php 在每次请求结束后自动释放内存,有效避免了常见场景下内存泄露的问题,然而实际环境中因某些扩展的内存管理没有做好或者 php 代码中出现循环引用导致未能正常释放不用的资源。
在 php-fpm 配置文件中,将pm.max_requests这个参数设置小一点。这个参数的含义是:一个 php-fpm 子进程最多处理pm.max_requests个用户请求后,就会被销毁。当一个 php-fpm 进程被销毁后,它所占用的所有内存都会被回收。

4、常驻进程内存泄漏问题

Valgrind 包括如下一些工具:
Memcheck。这是 valgrind 应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。

Callgrind。它主要用来检查程序中函数调用过程中出现的问题。

Cachegrind。它主要用来检查程序中缓存使用出现的问题。

Helgrind。它主要用来检查多线程程序中出现的竞争问题。

Massif。它主要用来检查程序中堆栈使用中出现的问题。

Extension。可以利用core提供的功能,自己编写特定的内存调试工具。

Memcheck 对调试 C/C++ 程序的内存泄露很有帮助,它的机制是在系统 alloc/free 等函数调用上加计数。 php 程序的内存泄露,是由于一些循环引用,或者 gc 的逻辑错误, valgrind 无法探测,因此需要在检测时需要关闭 php 自带的内存管理。

代码:

$ export USE_ZEND_ALLOC=0   
# 设置环境变量关闭内存管理  
 valgrind --tool=memcheck --num-callers=30 --log-file=php.log
/Users/zouyi/Downloads/php-5.6.31/sapi/cli/php  leak.php
Salin selepas log masuk

引用:

definitely lost: 肯定内存泄露 
indirectly lost: 非直接内存泄露 
possibly lost: 可能发生内存泄露 
still reachable: 仍然可访问的内存 
suppressed: 外部造成的内存泄露

Callgrind 配合 php 扩展 xdebug 输出的 profile 分析日志文件可以分析程序运行期间各个函数调用时占用的内存、 CPU 占用情况。 

总结:遇到了内存泄露时先观察是程序本身内存不足还是外部资源导致,然后搞清楚程序运行中用到了哪些资源:写入磁盘日志、连接数据库 SQL 查询、发送 Curl 请求、 Socket 通信等, I/O 操作必然会用到内存,如果这些地方都没有发生明显的内存泄露,检查哪里处理大量数据没有及时释放资源,如果是 php 5.3 以下版本还需考虑循环引用的问题。多了解一些 Linux 下的分析辅助工具,解决问题时可以事半功倍。 
最后宣传一下穿云团队今年最新开源的应用透明链路追踪工具 Molten:https://github.com/chuan-yun/Molten。安装好php扩展后就能帮你实时收集程序的 curl,pdo,mysqli,redis,mongodb,memcached 等请求的数据,可以很方便的与 zipkin 集成。 

以上内容仅供参考!

Atas ialah kandungan terperinci 定位分析内存泄漏的原因和后果. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pengoptimuman memori yang besar, apakah yang perlu saya lakukan jika komputer menaik taraf kepada kelajuan memori 16g/32g dan tiada perubahan? Pengoptimuman memori yang besar, apakah yang perlu saya lakukan jika komputer menaik taraf kepada kelajuan memori 16g/32g dan tiada perubahan? Jun 18, 2024 pm 06:51 PM

Untuk pemacu keras mekanikal atau pemacu keadaan pepejal SATA, anda akan merasakan peningkatan kelajuan berjalan perisian Jika ia adalah pemacu keras NVME, anda mungkin tidak merasakannya. 1. Import pendaftaran ke dalam desktop dan buat dokumen teks baharu, salin dan tampal kandungan berikut, simpannya sebagai 1.reg, kemudian klik kanan untuk menggabungkan dan memulakan semula komputer. WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]"DisablePagingExecutive"=d

Bagaimana untuk menyemak penggunaan memori Xiaomi Mi 14Pro? Bagaimana untuk menyemak penggunaan memori Xiaomi Mi 14Pro? Mar 18, 2024 pm 02:19 PM

Baru-baru ini, Xiaomi mengeluarkan telefon pintar mewah berkuasa tinggi Xiaomi 14Pro, yang bukan sahaja mempunyai reka bentuk yang bergaya, tetapi juga mempunyai teknologi hitam dalaman dan luaran. Telefon ini mempunyai prestasi terbaik dan keupayaan berbilang tugas yang sangat baik, membolehkan pengguna menikmati pengalaman telefon mudah alih yang pantas dan lancar. Walau bagaimanapun, prestasi juga akan dipengaruhi oleh memori Ramai pengguna ingin mengetahui cara menyemak penggunaan memori Xiaomi 14Pro, jadi mari kita lihat. Bagaimana untuk menyemak penggunaan memori Xiaomi Mi 14Pro? Pengenalan kepada cara menyemak penggunaan memori Xiaomi 14Pro Buka butang [Pengurusan Aplikasi] dalam [Tetapan] telefon Xiaomi 14Pro. Untuk melihat senarai semua apl yang dipasang, semak imbas senarai dan cari apl yang ingin anda lihat, klik padanya untuk memasuki halaman butiran apl. Dalam halaman butiran permohonan

Apakah yang menyebabkan Pejabat WPS tidak dapat memulakan kerja cetakan? Apakah yang menyebabkan Pejabat WPS tidak dapat memulakan kerja cetakan? Mar 20, 2024 am 09:52 AM

Apabila menyambungkan pencetak ke rangkaian kawasan setempat dan memulakan kerja cetakan, beberapa situasi kecil mungkin berlaku Contohnya, masalah "wpsoffice tidak boleh memulakan kerja cetakan..." kadang-kadang berlaku, mengakibatkan ketidakupayaan untuk mencetak fail, dsb. ., menangguhkan kerja dan kajian kami, dan menyebabkan kesan buruk , izinkan saya memberitahu anda bagaimana untuk menyelesaikan masalah bahawa wpsoffice tidak boleh memulakan kerja cetakan? Sudah tentu, anda boleh menaik taraf perisian atau pemacu untuk menyelesaikan masalah, tetapi ini akan membawa anda masa yang lama. Di bawah ini saya akan memberikan anda penyelesaian yang boleh diselesaikan dalam beberapa minit. Pertama sekali, saya perhatikan bahawa wpsoffice tidak boleh memulakan kerja cetakan, mengakibatkan ketidakupayaan untuk mencetak. Untuk menyelesaikan masalah ini, kita perlu menyiasat satu persatu. Juga, pastikan pencetak dihidupkan dan disambungkan. Secara amnya, sambungan tidak normal akan menyebabkan

Panduan Komprehensif untuk Ralat PHP 500: Punca, Diagnosis dan Pembetulan Panduan Komprehensif untuk Ralat PHP 500: Punca, Diagnosis dan Pembetulan Mar 22, 2024 pm 12:45 PM

Panduan Komprehensif untuk Ralat PHP 500: Punca, Diagnosis dan Pembetulan Semasa pembangunan PHP, kami sering menghadapi ralat dengan kod status HTTP 500. Ralat ini biasanya dipanggil "500InternalServerError", yang bermaksud bahawa beberapa ralat yang tidak diketahui berlaku semasa memproses permintaan di bahagian pelayan. Dalam artikel ini, kami akan meneroka punca biasa ralat PHP500, cara mendiagnosisnya dan cara membetulkannya serta memberikan contoh kod khusus untuk rujukan. Punca biasa 1.500 ralat 1.

Adakah terdapat perbezaan besar antara memori 8g dan 16g dalam komputer? (Pilih 8g atau 16g memori komputer) Adakah terdapat perbezaan besar antara memori 8g dan 16g dalam komputer? (Pilih 8g atau 16g memori komputer) Mar 13, 2024 pm 06:10 PM

Apabila pengguna baru membeli komputer, mereka akan tertanya-tanya tentang perbezaan antara memori komputer 8g dan 16g? Perlukah saya memilih 8g atau 16g? Sebagai tindak balas kepada masalah ini, hari ini editor akan menerangkannya kepada anda secara terperinci. Adakah terdapat perbezaan besar antara 8g dan 16g memori komputer? 1. Untuk keluarga biasa atau kerja biasa, memori berjalan 8G boleh memenuhi keperluan, jadi tidak banyak perbezaan antara 8g dan 16g semasa penggunaan. 2. Apabila digunakan oleh peminat permainan, pada masa ini permainan berskala besar pada asasnya bermula pada 6g, dan 8g ialah standard minimum. Pada masa ini, apabila skrin adalah 2k, resolusi yang lebih tinggi tidak akan membawa prestasi kadar bingkai yang lebih tinggi, jadi tiada perbezaan besar antara 8g dan 16g. 3. Bagi pengguna penyuntingan audio dan video, akan terdapat perbezaan yang jelas antara 8g dan 16g.

Sumber mengatakan Samsung Electronics dan SK Hynix akan mengkomersialkan memori mudah alih bertindan selepas 2026 Sumber mengatakan Samsung Electronics dan SK Hynix akan mengkomersialkan memori mudah alih bertindan selepas 2026 Sep 03, 2024 pm 02:15 PM

Menurut berita dari laman web ini pada 3 September, media Korea etnews melaporkan semalam (waktu tempatan) bahawa produk memori mudah alih berstruktur "seperti HBM" SK Hynix akan dikomersialkan selepas 2026. Sumber berkata bahawa kedua-dua gergasi memori Korea menganggap memori mudah alih bertindan sebagai sumber penting hasil masa hadapan dan merancang untuk mengembangkan "memori seperti HBM" kepada telefon pintar, tablet dan komputer riba untuk membekalkan kuasa untuk AI bahagian hujung. Menurut laporan sebelumnya di laman web ini, produk Samsung Electronics dipanggil memori LPWide I/O, dan SK Hynix memanggil teknologi ini VFO. Kedua-dua syarikat telah menggunakan laluan teknikal yang hampir sama, iaitu menggabungkan pembungkusan kipas dan saluran menegak. Memori LPWide I/O Samsung Electronics mempunyai sedikit lebar 512

Samsung mengumumkan penyiapan pengesahan teknologi proses penyusunan ikatan hibrid 16 lapisan, yang dijangka digunakan secara meluas dalam memori HBM4 Samsung mengumumkan penyiapan pengesahan teknologi proses penyusunan ikatan hibrid 16 lapisan, yang dijangka digunakan secara meluas dalam memori HBM4 Apr 07, 2024 pm 09:19 PM

Menurut laporan itu, eksekutif Samsung Electronics Dae Woo Kim berkata bahawa pada Mesyuarat Tahunan Persatuan Mikroelektronik dan Pembungkusan Korea 2024, Samsung Electronics akan melengkapkan pengesahan teknologi memori HBM ikatan hibrid 16 lapisan. Dilaporkan bahawa teknologi ini telah lulus pengesahan teknikal. Laporan itu juga menyatakan bahawa pengesahan teknikal ini akan meletakkan asas untuk pembangunan pasaran memori dalam beberapa tahun akan datang. DaeWooKim berkata bahawa Samsung Electronics telah berjaya menghasilkan memori HBM3 bertindan 16 lapisan berdasarkan teknologi ikatan hibrid Sampel memori berfungsi seperti biasa Pada masa hadapan, teknologi ikatan hibrid bertindan 16 lapisan akan digunakan untuk pengeluaran besar-besaran memori HBM4. ▲Sumber imej TheElec, sama seperti di bawah Berbanding dengan proses ikatan sedia ada, ikatan hibrid tidak perlu menambah bonjolan antara lapisan memori DRAM, tetapi secara langsung menghubungkan lapisan atas dan bawah tembaga kepada kuprum.

Micron: Memori HBM menggunakan 3 kali jumlah wafer, dan kapasiti pengeluaran pada dasarnya ditempah untuk tahun depan Micron: Memori HBM menggunakan 3 kali jumlah wafer, dan kapasiti pengeluaran pada dasarnya ditempah untuk tahun depan Mar 22, 2024 pm 08:16 PM

Menurut berita dari laman web ini pada 21 Mac, Micron mengadakan panggilan persidangan selepas mengeluarkan laporan kewangan suku tahunannya. Pada persidangan itu, Ketua Pegawai Eksekutif Micron Sanjay Mehrotra berkata berbanding memori tradisional, HBM menggunakan lebih banyak wafer. Micron berkata bahawa apabila menghasilkan kapasiti yang sama pada nod yang sama, memori HBM3E yang paling canggih semasa menggunakan wafer tiga kali lebih banyak daripada DDR5 standard, dan dijangka apabila prestasi bertambah baik dan kerumitan pembungkusan semakin meningkat, pada masa hadapan HBM4 Nisbah ini akan terus meningkat. . Merujuk kepada laporan terdahulu di laman web ini, nisbah yang tinggi ini sebahagiannya disebabkan oleh kadar hasil HBM yang rendah. Memori HBM disusun dengan sambungan TSV memori DRAM berbilang lapisan Masalah dengan satu lapisan bermakna keseluruhannya

See all articles