วิธีทำให้ google-chrome หรือโครเมียมใช้หน่วยความจำน้อยลง


13

คอมพิวเตอร์ของฉันมีหน่วยความจำ 4GB เท่านั้นและการเปิดแท็บสุ่ม 8-12 แท็บบนโครเมียมหรือโครเมียมมักทำให้คอมพิวเตอร์ของฉันค้าง google-chrome-stable --process-per-siteขณะนี้ฉันกำลังใช้ สิ่งนี้ช่วยได้บ้าง มีวิธีใดบ้างในการรันโครเมี่ยมหรือโครเมียมในขั้นตอนเดียว? ใครช่วยแนะนำเคล็ดลับวิธีการควบคุมการใช้หน่วยความจำที่มากเกินไปของ Chrome ได้บ้าง


ทำไมคุณถึงรู้สึกว่า Chrome ใช้หน่วยความจำมากกว่านั้นก็ต้องการ เบราว์เซอร์สมัยใหม่จะช้ามากหากใช้เพียงกระบวนการเดียว อะไรทำให้คุณคิดว่า Chrome จะใช้หน่วยความจำน้อยลงหากเป็นเพียงกระบวนการเดียว
— Ramhound

ฉันคิดว่าครั้งหนึ่งที่ฉันตรวจสอบฉันพบว่า IE ดีขึ้นมากในแง่ของหน่วยความจำรอยเท้า IE เป็นเรื่องตลกมาพักหนึ่งแล้วเช่น V6-V9 หรือบางอย่างจนกระทั่งประมาณ v10 หรือ v11 พวกเขาบอกว่ารุ่นปัจจุบันไม่ได้เลวร้ายเกินไป ลองดูที่มัน นอกจากนี้ดู Opera ซึ่งในอดีตไม่จำหน่วยความจำจนเกินไป .. แม้ว่าฉันต้องบอกว่าฉันเพิ่งตรวจสอบ IE และในกรณีใดกรณีหนึ่งมันใช้ 102MB .. ซึ่งดูเหมือนว่ามาก .. แต่อย่างใดดูว่าคุณใช้ IE น้อยกว่าหรือไม่ โครเมียม. คุณสามารถลองใช้เบราว์เซอร์ขนาดเล็กมากเช่น "ปิดทีละรายการ" แต่อาจไม่แสดงหน้าทั้งหมดอย่างถูกต้อง
— barlop

แม้ว่า RAM จะมีราคาแพง แต่เมื่อคุณใช้ RAM น้อย RAM ก็จะมีการลงทุนที่ดี แต่จ่ายได้ทันที!
— barlop

3
โดยธรรมชาติแล้ว Chrome ใช้หน่วยความจำจำนวนมาก วิธีที่ดีที่สุดในการประหยัดหน่วยความจำคือใช้เบราว์เซอร์อื่น
— qasdfdsaq

ตามที่คุณไม่ได้ระบุบน linux คุณสามารถสลับเป็น ram ที่บีบอัดได้โดยใช้zramแพคเกจคือ zram-config ช่วยในการหลีกเลี่ยงการค้างนาน
— กุมภ์อำนาจ

คำตอบ:


3

มีปลั๊กอินที่คุณสามารถใช้เพื่อเขียนหน่วยความจำของแท็บเปิดที่ไม่ได้ใช้เพื่อสลับ มันเปิดตัวหน่วยความจำจำนวนหน่วยความจำดังนั้น CHrome / โครเมียมแสดงปริมาณการใช้หน่วยความจำน้อยลง

ค้นหา Tab-suspender บน webstore ของปลั๊กอิน

https://chrome.google.com/webstore/detail/tab-suspender/fiabciakcmgepblmdkmemdbbkilneeeh


มี "ผู้ยิ่งใหญ่ผู้ยิ่งใหญ่" ด้วยเช่นกันchrome.google.com/webstore/detail/the-great-suspender/ …
— กุมภ์กุมภ์

แต่คำแนะนำของคุณเจ๋งกว่ามากเปลี่ยนเป็นขอบคุณ!
— กุมภ์กำลัง

3

ฉันใช้ cgroup ด้วยวิธีนี้:

sudo cgcreate -a $USER:$USER -t $USER:$USER -g memory:groupChromiumMemLimit
sudo cgset -r memory.limit_in_bytes=$((1024*1024*1024)) groupChromiumMemLimit
cgexec -g memory:groupChromiumMemLimit chromium-browser

โครเมียมเองอาจจะค่อนข้างช้าในบางครั้งซึ่งดูเหมือนว่าจะสลับกัน แต่มันจะไม่ทำให้ทั้งระบบแขวนอยู่กับการแลกเปลี่ยนแอพพลิเคชั่นอื่นดังนั้นโครเมียม / โครเมี่ยมจะเปลี่ยนทันทีที่มันถึงขีด จำกัด 1GB

แต่ ... ถ้าคุณดูที่ htop คุณจะเห็นกระบวนการมากมายของโครเมียมที่รวมหน่วยความจำภายในเล็กน้อยเกิน 1GB ฉันคิดว่าฉันต้องการข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

havent พยายามยังmemory.soft_limit_in_bytesเพื่อดูว่ามันจะช่วยในทางใดทางหนึ่งเช่นเป็นข้อเสนอแนะในการเชื่อมโยงการให้บริการโดย/superuser//a/1168435/157532

แต่โดยรวมแล้วโครเมียมใช้ RAM น้อยกว่าที่เคยใช้และมีการสลับสับเปลี่ยนกันอย่างชัดเจนดังนั้นคำสั่ง cgroup เหล่านี้จึงทำงานได้แม้จะมีอะไรที่ฉันเห็นที่ htop ดังนั้น cgroup จึงดูเหมือนว่าจะพยายามทำให้โครเมียมใช้ "ไม่มากนัก มากกว่า 1GB "สิ่งที่ดีพอ


1
topแสดงการใช้หน่วยความจำในหน่วยไบต์, MB, GB หรือ TB นี่คือพลังของ 1,000 ไม่ใช่ 1024 นั่นอาจเป็นเหตุผลว่าทำไมคุณถึงเห็นมันสูงกว่าเป้าหมายเล็กน้อย
— jcoffland

นอกจากนี้จะยังคงรีบูตเครื่องหรือไม่ มันเปรียบเทียบกับโซลูชันนี้ที่เขียนถึงได้/sys/fs/cgroup/memory/myGroup/memory.limit_in_bytesอย่างไร
— Dan Dascalescu

1
@DanDascalescu btw ฉันคิดว่ามันไม่ได้ผลดีมากในตอนนี้ ... โครเมียมวางไข่ได้มากกว่า 15 เธรดที่เป็นอิสระและข้อ จำกัด นั้นจะนำไปใช้กับแต่ละเธรด (และไม่ จำกัด เฉพาะพวกมันทั้งหมดเช่น จำกัด กลุ่ม) ฉันจะพยายามหาวิธีในการสร้างขีด จำกัด ที่ SUM แต่ละเธรดและ จำกัด ไว้ด้วยกัน (และไม่โดดเดี่ยวเหมือนตอนนี้ดูเหมือนจะเป็นตอนนี้)
— กุมภ์อำนาจ

1

ฉันมีปัญหาเดียวกันและฉันไม่ได้โดดเดี่ยว: Chrome / Chromium กินหน่วยความจำมากมาย บางครั้งสิ่งนี้ทำให้ระบบหยุด (ในกรณีของฉัน, Linux Mint 17)

โซลูชันที่ 1

ในฐานะที่เป็นวิธีแก้ปัญหาฉันได้เริ่มใช้ส่วนขยายของ Chrome นี้: สุดยอดผู้แขวน

โซลูชัน 2

แต่มีโซลูชั่นอื่น ๆ อีกมากมายตัวอย่างเช่นlinuxcgroup ( https://gist.github.com/juanje/9861623 )

โซลูชั่นอื่น ๆ

ฉันได้แนบโซลูชันอื่นของฉันกับคำตอบแรกของฉันสำหรับคำถามที่คล้ายกัน

อย่างไรก็ตาม: Chrome เป็นเว็บเบราว์เซอร์ที่ดี (น่าจะดีที่สุด) และไซต์ในปัจจุบันมีความต้องการสูง (JS, Canvas, SVG, วิดีโอฝัง, ซ็อกเก็ตเว็บ .. ) การพยายามตัดการทำงานบางอย่าง - ไม่ใช่ความคิดที่ดี เพียงปัญหาหนึ่งที่ฉันพยายามที่จะแก้ปัญหา (อย่างน้อยสำหรับฉัน): ไม่มีใครต้องการที่จะนั่งอยู่ใกล้กับระบบแช่แข็ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.