Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีแก้ไขการใช้งานหน่วยความจำสูงใน Linux

วิธีแก้ไขการใช้งานหน่วยความจำสูงใน Linux

คอมพิวเตอร์ของเรามีหน่วยความจำมากกว่าที่เคยมีมา มีโอกาสดีที่สิ่งนี้เป็นความจริงไม่ว่าคุณจะอ่านข้อความนี้เมื่อใด ที่กล่าวว่าไม่ว่าคุณจะมีหน่วยความจำมากแค่ไหนก็ไม่เคยพอ

คุณสามารถแพ็คคอมพิวเตอร์หรือเซิร์ฟเวอร์ของคุณให้เต็ม RAM ที่จะใช้และมีบางสิ่งที่จะใช้งานได้เสมอ ส่วนใหญ่นี่เป็นสิ่งที่ดี ท้ายที่สุดแล้วจุดประสงค์ของ RAM นั้นคืออะไรถ้าคุณไม่ใช้ ในทางกลับกัน หากคุณมีข้อจำกัด หน่วยความจำไม่เพียงพออาจเป็นปัญหาได้

คุณแน่ใจเกี่ยวกับการใช้หน่วยความจำของคุณหรือไม่

ก่อนที่คุณจะเริ่มมองหาการเพิ่มหน่วยความจำ คุณต้องแน่ใจว่ามีบางอย่างใช้งานอยู่จริง เนื่องจากวิธีที่ Linux จัดการกับหน่วยความจำ จึงอาจดูเหมือนว่ามีบางอย่างกำลังใช้หน่วยความจำที่มีอยู่ทั้งหมดของคุณ

วิธีแก้ไขการใช้งานหน่วยความจำสูงใน Linux

ตามที่ Linux Ate My RAM อธิบายไว้ top คำสั่งที่แสดงว่าคุณมีหน่วยความจำเหลือน้อยอาจไม่ได้หมายถึงสิ่งที่คุณคิดว่ามันหมายถึง ตามค่าเริ่มต้น Linux จะแยกหน่วยความจำที่ไม่ได้ใช้สำหรับการแคชดิสก์ ซึ่งช่วยให้คอมพิวเตอร์ของคุณเร็วขึ้น

ที่กล่าวว่าอาจมีบริการหรือแอปพลิเคชันที่มีปัญหาบางอย่างที่ใช้ RAM มากกว่าที่ควรจะเป็น

การวินิจฉัยการใช้หน่วยความจำ

ในการวินิจฉัยหน่วยความจำ คุณจะต้องใช้คำสั่งต่างๆ สองสามคำสั่ง top คำสั่งนั้นดีสำหรับการดูแอพพลิเคชั่นที่อาจกิน RAM มากเกินไป – อย่าพึ่งพา PhysMem ที่แสดงที่ด้านบนเพียงอย่างเดียว

คุณสามารถใช้ free และ ps คำสั่งเพื่อช่วยวินิจฉัยปัญหา RAM ต่างๆ ด้วย การใช้งาน free , เพียงเรียกใช้สิ่งต่อไปนี้:

free -m

คุณจะสังเกตได้ว่าตัวเลข "รวม" และ "ใช้แล้ว" จะใกล้เคียงกัน ดังที่เราได้กล่าวไว้ข้างต้น นี่เป็นพฤติกรรมปกติสำหรับ Linux ดังนั้นอย่ากังวลกับสิ่งนี้ สิ่งสำคัญที่สุดที่ต้องให้ความสนใจคือส่วน "ใช้แล้ว" ในแถว "บัฟเฟอร์/แคช" เนื่องจากนี่คือสิ่งที่แอปพลิเคชันและบริการใช้งานอยู่จริง

วิธีแก้ไขการใช้งานหน่วยความจำสูงใน Linux

คุณสามารถใช้ ps คล้ายกับ top เพื่อกำหนดว่าแอพพลิเคชั่นใดใช้หน่วยความจำมากที่สุด เมื่อต้องการทำเช่นนี้ เพียงเรียกใช้สิ่งต่อไปนี้:

ps aux

นี่จะแสดงให้คุณเห็นว่าแอปใดใช้หน่วยความจำมากที่สุดและแสดงรหัสกระบวนการให้คุณเห็น

วิธีแก้ไขการใช้งานหน่วยความจำสูงใน Linux

แก้ไขการใช้หน่วยความจำสูงของคุณ

มีผู้กระทำผิดทั่วไปบางประการเมื่อพูดถึงการใช้หน่วยความจำสูงบน Linux หนึ่งในผู้กระทำผิดหลักคือ Java ไม่ว่าคุณจะใช้สภาพแวดล้อมรันไทม์ของ Java อย่างเป็นทางการหรือทางเลือกที่ GNU จัดหา การทำเช่นนี้อาจทำให้เกิดปัญหาได้ หากคุณพบสิ่งนี้บนเซิร์ฟเวอร์ อาจเกิดจาก JBoss หรือ Tomcat คุณจะพบไฟล์การกำหนดค่าของพวกเขาที่ใดที่หนึ่งดังต่อไปนี้:

/usr/local/jboss/bin/run.conf 
/usr/local/tomcat/bin/setenv.sh

ผู้ร้ายรายอื่นอาจเป็น Apache หรือ MySQL อยู่นอกเหนือขอบเขตของบทความนี้เพื่อแสดงวิธีกำหนดค่าเหล่านี้อย่างชัดเจน แต่คุณสามารถตรวจสอบไฟล์บันทึกเพื่อหาข้อผิดพลาดหรือคำเตือนจากบริการเหล่านี้ได้

บทสรุป

หากคุณกำลังมองหาประสิทธิภาพที่เพิ่มขึ้นหรือเพื่อแก้ไขปัญหา หน่วยความจำอาจไม่ใช่ตัวการเสมอไป ขึ้นอยู่กับสิ่งที่คุณกำลังมองหา แต่โซลูชันของคุณอาจอยู่ในส่วนอื่นของคอมพิวเตอร์ทั้งหมด อย่าลืมจำสิ่งนี้ไว้

ไม่ต้องกังวล ไม่ว่าปัญหาคืออะไร เราสามารถช่วยคุณได้ หากเดสก์ท็อป แล็ปท็อป หรือเซิร์ฟเวอร์ของคุณทำงานช้า โปรดดูคำแนะนำของเราเพื่อค้นหาสาเหตุ แม้ว่าจะไม่สามารถแก้ปัญหาของคุณได้ แต่ก็อาจช่วยให้คุณค้นหาจุดเริ่มต้นได้