วิธีทำให้ 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.