มีประเด็นในการใช้ Prelink อีกต่อไปหรือไม่


11

ในช่วงหลายปีที่ใช้กล่องลินุกซ์หลายอย่างฉันได้เข้าสู่การใช้prelink เป็นพิธีการเพื่อเร่งเวลาในการโหลดแอปพลิเคชัน

อย่างไรก็ตามประโยชน์ของการใช้ prelink จะถูกปฏิเสธทุกครั้งที่มีการติดตั้งแพคเกจใหม่เพราะมันขึ้นอยู่กับการพึ่งพาทั้งหมดและผู้ที่อยู่ในความดูแลของมันจะต้องมีการรีโหลดล่วงหน้าอีกครั้ง

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

เมื่อเร็ว ๆ นี้คอมพิวเตอร์ได้เร็วขึ้นมากและประโยชน์ที่ได้รับ prelink ตอนนี้แทบจะไม่น่าสังเกต

การใช้ Prelink ยังคงเป็นแนวคิดที่มีเหตุผลหรือไม่ก็สามารถทิ้งและทิ้งไว้เป็นยุคสมัยก่อนได้หรือไม่?

คำตอบ:


4

คุณไม่สามารถอ่านได้จนถึงวันที่ 23 กรกฎาคม 2009 เว้นแต่คุณจะสมัครเป็นสมาชิก LWN.net แต่คุณอาจพบว่าhttp://lwn.net/Articles/341244/มีประโยชน์


จากนั้นคุณสามารถระบุลิงก์ "suscriber" ให้กับบทความนี้
wazoox

5
ฉันรู้สึกแย่เสมอที่ใช้ลิงก์สมาชิก เหมือนว่าฉันกำลังฉีกพวกเขาออกหรืออะไรบางอย่าง
David Pashley

2
ฉันเห็นด้วย. ฉันไม่สนใจที่จะให้ลิงก์ผู้สมัครสมาชิกไปยังผู้ติดต่อโดยตรง (เพื่อนหรือเพื่อนร่วมงาน) เมื่อฉันเจอบทความที่น่าสนใจ แต่รู้สึกผิดที่จะโพสต์แบบสาธารณะ
Christopher Cashell

1

ฉันจะไม่พูดว่าควรยกเลิกโดยพลการ แต่ฉันจะบอกว่าการใช้งานควรได้รับการพิจารณาอีกเล็กน้อย

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

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


1
"อัตราที่สูงของโปรแกรมที่ถูกเรียกใช้ซ้ำ ๆ " - ถ้าคุณอยู่ในสถานการณ์เช่นนั้นไบนารีและไลบรารีจะสิ้นสุดลงในแคชของระบบไฟล์ เวลาเท่านั้นที่จะช่วยให้ prelinking คือถ้าคุณจะให้หน่วยความจำหิวโหยว่าคุณมี FS น้อยมากแคชใช้ได้
แดเนียลลอว์สัน

2
Prelinking จะเร่งความเร็วการเริ่มต้นโปรแกรมแม้ว่าโปรแกรมจะถูกเก็บไว้ในระบบไฟล์แคช เป็นที่ยอมรับว่าเมื่อโปรแกรม (และไลบรารีที่เกี่ยวข้อง) ถูกแคชการเพิ่มประสิทธิภาพจะเห็นได้ชัดเจนน้อยลง อย่างไรก็ตามขึ้นอยู่กับอัตราของโปรแกรมที่ใช้งานไมโครวินาทีสองสามตัวสามารถเพิ่มเข้าไปจนสร้างความแตกต่างได้ในที่สุด
Christopher Cashell

1

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


0

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


ฉันลองโหลดล่วงหน้าฉันเพิ่งพบว่าทำให้เวลาเริ่มต้นทำงานช้าลงในขณะที่มันนั่งอยู่ที่นั่นเพื่อเคี้ยวแกนทั้งสองทำสิ่งที่อ่านแล้ว และด้วยเหตุผลบางอย่างที่ฉันไม่สามารถทำได้ทำให้ X ต้องตายระหว่างการบู๊ต นอกจากนี้หากคุณไม่รีบูตบ่อยๆพรีโหลดหยุดเป็นประโยชน์เลย
Kent Fredric

0

ฉันปล่อยให้การตัดสินใจนั้นเป็นเวอร์ชั่นของระบบปฏิบัติการ หากระบบปฏิบัติการเริ่มต้นเลือกที่จะเรียก prelink เป็นประจำโดยใช้ cron แล้วก็ไม่เป็นประโยชน์ ฉันหวังว่าผู้สร้างการแจกแจงจะได้รับความคิดก่อนที่จะเลือกที่จะเพิ่ม / ลบตัวเลือก prelink โดยค่าเริ่มต้น ดังนั้นฉันจึงไปกับพวกเขามากกว่าที่จะวิเคราะห์สิ่งต่าง ๆ ด้วยตัวเองอีกครั้ง


เอ้อมันไม่ได้เริ่มต้นจริงๆมันเป็นแพคเกจที่คุณต้องติดตั้งและถ้ามันไม่ได้ติดตั้งคุณไม่ได้รับสิ่งที่ prelinked หากติดตั้งไว้จะมีการสร้างสคริปต์ cron ซึ่งจะปิดตามค่าเริ่มต้นซึ่งคุณต้องเปิดใช้งานด้วยตนเอง
Kent Fredric

มันเป็นค่าเริ่มต้นใน fedora ไม่ได้ปิดโดยค่าเริ่มต้น มันถูกเปลี่ยนเป็น 19 แต่ไม่ปิด มันเหมือนกันตั้งแต่ Fedora 6 หรือ 7
Saurabh Barjatiya

0

Gentoo ใช้ prelink พวกเขาแก้ไขปัญหา md5sum โดยไม่สนใจข้อมูลไก่ที่คำนวณค่าแฮช

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

Sidenote: OS X เคยทำรูปแบบของการโหลดล่วงหน้า แต่ก็ถูกทอดทิ้งเพราะแคชที่เชื่อมโยงซึ่งการเชื่อมโยงนั้นรักษาไว้ ดีที่สุดของทั้งสองโลกไม่มีการเปลี่ยนแปลงแบบไบนารีและไม่มีค่าใช้จ่ายจริงเมื่อเทียบกับการเชื่อมโยงปกติ ฉันหวังว่า Linux จะเก็บความคิดนี้ในบางช่วงเวลา :)

ปรับปรุง:ฉันเพิ่งลอง prelinking บน Linuxและสำหรับการรวบรวม cscope ที่มีไฟล์และกระบวนการมากมายฉันได้รับการเร่งความเร็ว 5%


1
ไม่จริง ... ยังมีบางสิ่งที่คุณต้องติดตั้งและกำหนดค่าฉันพูดแบบนี้เพราะฉันใช้ gentoo และคุณไม่สามารถ "ปิด" prelink ได้อย่างแน่นอนคุณสามารถหยุดการเรียกใช้ prelink ได้เท่านั้นหรือไปและยกเลิกการเชื่อมโยงระบบทั้งหมดของคุณ นอกจากนี้ด้วยเหตุผลบางอย่างที่ไม่เป็นที่รู้จักสำหรับฉัน paludis มีปัญหากับไบนารีที่มีการโหลดไว้ล่วงหน้าและไม่มีตะขอยกเลิกการโหลด prelink (ไม่ได้รับการสนับสนุน) มันจะทิ้งไบนารีไว้ข้างหลังทำให้เกิด cruft เมื่อเร็ว ๆ นี้ผมค้นพบปพลิเคชันของ KDE ไม่กี่คนที่ถูกทิ้งไว้เบื้องหลังเพราะความจริงก่อนที่จะติดตั้งตะขอและพวกเขาก็อยู่ในเส้นทางก่อนที่จะมีคนใหม่ในสถานที่ที่แตกต่างกันทำให้เกิด seg ของ
เคนท์เฟรดริก

อาจเป็นไปได้ว่าการเปิดใช้งานการเพิ่มประสิทธิภาพตัวเชื่อมโยง (-Wl, -O1) และการเปลี่ยนแปลงใหม่ในการจัดสรร gnu-hash นั้นคล้ายกับสิ่งที่ OSX ได้ย้ายไปซึ่งอาจเป็นตัวเลือกที่มีประสิทธิภาพมากกว่า
Kent Fredric

ฉันต้องยอมรับมันนานแล้วที่ฉันใช้ gentoo ... ฉันได้ย้ายไปยัง OS X :) ฉันจำการทดสอบที่ฉันเคยทำบน OS X: เริ่มแอปพลิเคชันทั้งหมดในครั้งเดียวและเวลานั้น (ประมาณ 1 นาที iirc) จากนั้นลบข้อมูล prelink ทั้งหมดแล้วเริ่มแอพทั้งหมดอีกครั้ง เวลานั้นใช้เวลา 5 นาที ... นี่คือปี 2005 บนหอคอย Mac สัตว์ร้ายจริง
w00t

1
เพื่อเป็นการตอบโต้ความคิดของคุณว่าการเพิ่มความเร็วในการโหลดล่วงหน้าอาจสังเกตเห็นได้น้อยกว่าพวกเขามีแนวโน้มที่จะมีความสำคัญมากขึ้นเมื่อโปรแกรมต่างๆเพิ่มขึ้นในการใช้ libs ที่โหลดได้แบบรันไทม์ gvim จาก 2009 ใช้ 55 libs รันไทม์ หนึ่งใน 2 ปีที่ผ่านมาใช้ 73. 'mount' จาก 2009 ใช้ 7, mount จากวันนี้ใช้ 10 กับ 4 ของพวกเขาใน / usr / lib64 และ 6 ใน / lib64 ... ดังนั้นพวกเขาจะขยายตัวกลายเป็นใหญ่ขึ้นและกระจายออกไปมากขึ้น . - เช่นเดียวกับที่เคยเป็น - เมื่อ HW เร็วขึ้น SW จะซับซ้อนมากขึ้นเพื่อดูดซับแรงกระตุ้น
Astara

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