การใช้งานหน่วยความจำเสมือนสูงใน openvz?


2

เรามีปัญหาหน่วยความจำมากมายในกล่อง OpenVZ ใหม่ มันควรจะมีหน่วยความจำ 1 กิ๊กผมไม่แน่ใจว่าหน่วยความจำนั้นสามารถแตกได้หรือรับประกันได้เท่าใด โปรแกรมโดยทั่วไปดูเหมือนจะใช้หน่วยความจำเสมือนมากกว่าที่ทำในกล่องของฉันที่บ้านและในกล่อง OpenVZ อื่น ๆ ของเรา

ฉันเขียนโปรแกรม C ง่าย ๆ นี้:

#include <stdio.h>
#include <stdlib.h>

int main(){
  char *thingy = malloc(500);
  getchar():
  return 0;
}

ดังนั้นมันจึงจัดสรร 500 ไบต์แล้วส่งกลับ ฉันรันโปรแกรมบนคอมพิวเตอร์ 3 เครื่อง ในเครื่องที่บ้านของฉันและกล่อง OpenVZ อื่น ๆ ของเรามันแสดงหน่วยความจำเสมือนประมาณ 1k ไบต์ บนเครื่องที่มีปัญหาใหม่มันประมาณ 3k

ฉันรู้ว่านี่เป็นเพียงหน่วยความจำเสมือนและไม่ได้เป็นหน่วยความจำเครื่อง แต่ทำไมเครื่องนี้ถึงจัดสรรหน่วยความจำเสมือนมาก มีการตั้งค่าบางอย่างที่ฉันจำเป็นต้องปรับให้เข้ากับการตั้งค่าหน่วยความจำ OpenVZ หรือไม่?

ฉันพยายามเปลี่ยนขนาดสแต็กด้วย ulimit -s 256 และเริ่มปีศาจบางตัว แต่ก็ยังเห็นผลลัพธ์เหมือนเดิม

ฉันกำลังตรวจสอบทั้งหมดของฉันด้วย htop นี่เป็นโปรแกรมที่ดีที่จะใช้กับ OpenVZ vps หรือไม่ ฉันอ่านแล้วฉันควรแยกวิเคราะห์เอาต์พุตของ / proc / user_beancounters หรือบางอย่าง

ฉันควรทราบว่าการใช้หน่วยความจำนี้ดูเหมือนจะนำไปสู่การล่ม : \

คำตอบ:


2

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

ค่าใช้จ่ายในการจัดสรรที่ใหญ่กว่าเช่นเดียวกับการจัดสรรขนาดเล็ก แต่การจัดสรรขนาดเล็กสองรายการมีค่ามากกว่าหนึ่งรายการใหญ่


ฉันไม่เคยเห็นสิ่งนี้อธิบายในลักษณะที่เรียบง่ายมาก่อน +1
Randolf Richardson

นั่นทำให้รู้สึก โดย "ราคา" คุณหมายถึงการใช้หน่วยความจำเสมือนไม่ใช่การใช้งาน CPU ใช่ไหม
freedrull

คุณรู้อะไรเกี่ยวกับ OpenVZ เป็นพิเศษหรือไม่ ฉันไม่แน่ใจว่าทำไมกล่อง OpenVZ นี้ใช้หน่วยความจำมากขึ้นกล่องอื่น ๆ ของเราไม่ใช้หน่วยความจำเสมือนนี้มาก ฉันเดาว่าฉันควรทราบในคำถามเดิมที่ระบบล่มว่าการใช้หน่วยความจำนี้ดูเหมือนจะนำไปสู่ ​​....
freedrull

@freedrull ไม่โดย "ต้นทุน" ฉันหมายถึงการใช้ทรัพยากรที่ไม่ฟรีอย่างมีประสิทธิภาพเช่นการใช้งาน CPU
David Schwartz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.