Tags:
Node Thumbnail

ไมโครซอฟท์อธิบายของใหม่ใน Windows 10 May 2020 Update (v2004) มีประเด็นที่น่าสนใจคือ ระบบจัดการหน่วยความจำแบบใหม่ที่เรียกว่า segment heap

เดิมที ระบบหน่วยความจำของ Windows มีแบบเดียว เรียกว่า NT heap ใช้กันมาตั้งแต่ Windows NT แต่พอถึงยุคของ Windows 10 ก็เริ่มมีระบบ segment heap ที่จัดการหน่วยความจำก้อนเล็กๆ ได้มีประสิทธิภาพมากขึ้น เพียงแต่จำกัดเฉพาะแอพแบบ UWP เท่านั้น (ถ้าเป็นแอพ Win32 จะยังใช้ NT heap)

พอมาถึง Windows 10 v2004 ไมโครซอฟท์ตัดสินใจเริ่มใช้ segment heap กับแอพ Win32 ด้วย และแอพตัวแรกที่ได้ใช้คือ Microsoft Edge ผลพบว่าการใช้งานหน่วยความจำลดลงไปสูงสุดถึง 27% (การใช้งานจริงขึ้นกับกรณี)

ไมโครซอฟท์ระบุว่าจะเปิด segment heap ให้นักพัฒนารายอื่นๆ ใช้งานเพิ่มเติมในอนาคตอันใกล้นี้

ที่มา - Microsoft

Get latest news from Blognone

Comments

By: Be1con
ContributorWindows PhoneWindowsIn Love
on 30 May 2020 - 23:19 #1160712
Be1con's picture

ส่วนหนึ่งน่าจะมาจาก Project Reunion ด้วย แอปกลุ่ม Win32 เลยได้อานิสงส์จากระบบนี้


Coder | Designer | Thinker | Blogger

By: deawx on 31 May 2020 - 06:48 #1160721

Ms ลดหารใช้แรม แต่ chrome พี่แกมีแต่ซดแรม
หวังว่าต่อไปคนจะหันไปเล่น ms edge กันเยอะ หลังจากเอาไว้โหลดchrome เฉยๆมาเนิ่นนาน

By: deawx on 31 May 2020 - 06:49 #1160722

ซ้ำ

By: deawx on 31 May 2020 - 06:49 #1160723

ซ้ำ

By: KuLiKo
ContributoriPhoneWindows PhoneAndroid
on 31 May 2020 - 07:08 #1160724

UWP นี่ใช้ segment heap หรอ บางแอพนี่ซดแรมกว่า Win32 อีกนะ...

By: mr_tawan
ContributoriPhoneAndroidWindows
on 31 May 2020 - 17:22 #1160771 Reply to:1160724
mr_tawan's picture

ผมว่ามันหลายสาเหตุ อันนี้เท่าที่นึกออกนะครับ

  1. แอพหลายๆ ตัวเขียนด้วย .Net
  2. ตัวแอพเป็น XAML มีโครงสร้างลักษณะเป็น Document Base ใกล้เคียงกับพวก Web Browser App (เช่น VS Code)
  3. UWP ใช้ไฟล์รูปหลายที่

  • 9tawan.net บล็อกส่วนตัวฮับ
By: Fzo
ContributorAndroid
on 31 May 2020 - 10:43 #1160739
Fzo's picture

อันนี้มีผลกับเวอร์ชั่น MacOS ด้วยไหมครับ


WE ARE THE 99%

By: avaya
Android
on 31 May 2020 - 14:19 #1160752 Reply to:1160739
avaya's picture

ยาวไปไม่อ่าน

By: boyphongsakorn on 31 May 2020 - 15:49 #1160760 Reply to:1160739
boyphongsakorn's picture

Mac OS ผมว่าไม่น่าเกี่ยวนะครับ เพราะ segment heap มันอยู่แต่ใน Windows 10 อ่าครับ

By: Fzo
ContributorAndroid
on 31 May 2020 - 19:20 #1160780 Reply to:1160760
Fzo's picture

อ๋ออ แบบนี้นี่เอง ขอบคุณครับ


WE ARE THE 99%

By: raindrop
ContributoriPhoneWindows PhoneWindows
on 31 May 2020 - 11:48 #1160743

ของเค้าดีขึ้นเรื่อยๆ จริงๆ นะ อืมมม

By: tom789
Windows Phone
on 31 May 2020 - 13:50 #1160749

ลดลง ตังเยอะ

By: mr_tawan
ContributoriPhoneAndroidWindows
on 31 May 2020 - 17:22 #1160772
mr_tawan's picture

มันช่วย obfuscate memory addressing ด้วยไหมครับ :)


  • 9tawan.net บล็อกส่วนตัวฮับ
By: ninekaw9
AndroidUbuntuWindows
on 13 June 2020 - 21:33 #1162586

https://bugs.chromium.org/p/chromium/issues/detail?id=1014701&fbclid=IwAR2askrmLgKFvE3j4WfxAqmSo2_exa-8tcUA1QXGWVxOpv0J_nGB2DG9FeM

https://paper.seebug.org/papers/Security%20Conf/Blackhat/2016/us-16-Yason-Windows-10-Segment-Heap-Internals.pdf 0x08 to enable segment heap

These registry commands can be used to enable and disable the segment heap for chrome.exe:
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\chrome.exe" /v FrontEndHeapDebugOptions /t REG_DWORD /d 0x08 /f
reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\chrome.exe" /v FrontEndHeapDebugOptions /f
Testing has shown that this saves (on my test machine) about 200 MB of memory, or about 30% of the total.

ลองแล้วเหมือน Chrome จะกินแรมน้อยลงจริงๆครับ