Tuesday, November 23, 2004

Need 64-bit Linux ?

เช้าวันหยุดนั่งเอาเมล์เก่าๆที่เก็บไว้หลายปี แสนกว่าฉบับ (รวม Mailing Lists ฯลฯ) มาใส่ mhonarc วันหลังจะได้ทำระบบ Search/เปิดดูได้ด้วย Browser

ผ่านไปประมาณ 130,000 ฉบับ เครื่องอืดลงมาก พบว่า mhonarc กินเมโมรี่ไปเกือบ 2.7GB ! (ในเครื่องมี 1GB RAM + 2GB Swap)

ก่อนที่ Kernel มันจะตายก็เลยรีบ kill -STOP mhonarc-pid หยุดพักไว้ก่อน แล้วไป mkswap ...+swapon ... เพิ่มให้อีก 2GB รวมเป็น 4GB Swap จากนั้นก็ไปสั่งให้ mhonarc ทำงานต่อ kill -CONT mhonarc-pid

สุดท้ายมันก็ไปตายตอนชนขีดจำกัด 3GB ต่อ Process ของ Linux อยู่ดี

ในเครื่อง 32-bit อ้างตำแหน่งหน่วยความจำได้ 4GB แต่ Linux เก็บไว้ให้ Kernel ใช้ 1GB เหลือสำหรับ Process 3GB คงต้องแบ่งเมล์เก่าเป็นปีๆซะแล้ว หรือไม่ก็ต้องใช้ 64-bit Linux ?

จาก Maximum Heap Size

You have 3Gb of virtual space for an application on x86. This is basically hardware limitations of the processor (1Gb is used for kernel mappings and having kernel and user mappings overlapping costs every syscall).

No comments: