ก่อนหน้านี้มีบทความจากสื่อต่างประเทศในหัวข้อ “Sloppy software is why you think you need new hardware” หรือ ซอฟต์แวร์ที่ไม่ดีเป็นสาเหตุที่ทำให้ผู้ใช้งานคิดว่าเราต้องซื้อคอมเครื่องใหม่ ซึ่งวิศวกรของ Microsoft ก็ได้แสดงความเห็นด้วยกับบทความนี้เหมือนกัน
แมตต์ แฮมริก (Matt Hamrick) วิศวกรอาวุโสด้านการจัดการปัญหาระดับสูงได้โพสต์บล็อกเกี่ยวกับปัญหาด้านซอฟต์แวร์ที่ทำให้เครื่องช้าลง ซึ่งรวมถึงประเด็นหน่วยความจำรั่ว (Memory Leak) และ หน่วยความจำเต็ม (Out-of-Memory หรือ OOM) ที่อาจเกิดขึ้นในระบบปฏิบัติการ Windows อันเป็นผลมาจากการปรับแต่งระบบที่ไม่ดีหรือไม่มีประสิทธิภาพ
แฮมริกได้ยกตัวอย่างแอปที่อัปเดตเป็น .NET 7 เพื่ออธิบายหลักการว่าการกำหนดค่าพารามิเตอร์ reloadOnChange ใน ConfigurationBuilder อย่างไม่ถูกต้องสามารถทำให้เกิดปัญหาได้ อย่างการตั้งค่าเป็น “true” แทนที่จะเป็น “false” ทำให้ตัวแอปอาจเกิดปัญหาหน่วยความจำรั่ว (memory leak) ส่งผลให้ระบบทำงานช้าลง หรือแอปเกิดแครช ร้ายแรงสุดคือทำให้พังทั้งระบบได้เลย
พารามิเตอร์ reloadOnChange จะสั่งให้ระบบคอยตรวจสอบไฟล์ที่กำหนดไว้ฃเพื่อดูว่ามีการเปลี่ยนแปลงค่าการตั้งค่าหรือไม่ เมื่อไฟล์มีการอัปเดต ระบบจะโหลดค่าที่เปลี่ยนแปลงเข้าหน่วยความจำโดยอัตโนมัติ ซึ่งทำให้ส่วนต่าง ๆ ของแอปที่ใช้ค่าคอนฟิกนี้สามารถเห็นค่าที่เปลี่ยนแปลงได้ทันที โดยไม่ต้องรีสตาร์ตแอปใหม่ อย่างไรก็ตาม กระบวนการนี้ทำให้หน่วยความจำที่มีอยู่ถูกใช้เพิ่มขึ้นเรื่อย ๆ ตลอดเวลาจนเกิดปัญหาได้เหมือนกัน
แฮมริกระบุว่า .NET 7 เป็นเพียงตัวอย่างเท่านั้น แต่การโค้ดหรือคอนฟิกที่ไม่ดีย่อมสงผลต่อการทำงานของระบบได้โดยทั่วไป
ที่มา Neowin