คำถามติดแท็ก performance

ความเร็วที่โปรแกรมทำงาน

1
ฉันจะติดตามการใช้งาน IO ใน Linux และ * nix OS 'อื่น ๆ ได้อย่างไร
บางครั้งบางสิ่งบางอย่างในระบบของฉันจะเริ่มทุบดิสก์ ฉันต้องการบันทึกข้อมูลที่จะแจ้งให้ฉันทราบเกี่ยวกับการใช้งาน I / O ต่อกระบวนการจากนั้นฉันสามารถกลับไปดูได้ในภายหลังและดูว่ามีอะไรดำเนินการต่อไป ฉันควรจะแก้ไขปัญหานี้อย่างไร คะแนนโบนัสสำหรับการแก้ปัญหานี้สำหรับอุปกรณ์บล็อกโดยพลการ
15 performance  io 

5
ไฟล์ข้อความนับล้าน (เล็ก) ในโฟลเดอร์
เราต้องการจัดเก็บไฟล์ข้อความหลายล้านไฟล์ในระบบไฟล์ลินุกซ์โดยมีวัตถุประสงค์เพื่อให้สามารถซิปขึ้นและให้บริการคอลเลกชันโดยพลการเป็นบริการ เราได้ลองใช้วิธีแก้ไขปัญหาอื่น ๆ เช่นฐานข้อมูลคีย์ / ค่า แต่ข้อกำหนดของเราสำหรับการทำงานพร้อมกันและความเท่าเทียมทำให้การใช้ระบบไฟล์ดั้งเดิมเป็นทางเลือกที่ดีที่สุด วิธีที่ตรงไปตรงมาที่สุดคือการจัดเก็บไฟล์ทั้งหมดในโฟลเดอร์: $ ls text_files/ 1.txt 2.txt 3.txt ซึ่งควรจะเป็นไปได้ในระบบไฟล์ EXT4ซึ่งไม่ จำกัด จำนวนไฟล์ในโฟลเดอร์ กระบวนการ FS ทั้งสองจะเป็น: เขียนไฟล์ข้อความจากเว็บขูด (ไม่ควรได้รับผลกระทบจากจำนวนไฟล์ในโฟลเดอร์) ซิปไฟล์ที่เลือกกำหนดโดยรายการชื่อไฟล์ คำถามของฉันคือการจัดเก็บไฟล์ได้มากถึงสิบล้านไฟล์ในโฟลเดอร์จะส่งผลต่อประสิทธิภาพของการดำเนินการข้างต้นหรือประสิทธิภาพของระบบทั่วไปแตกต่างจากการสร้างแผนผังย่อยสำหรับไฟล์ที่จะใช้งาน

2
วิธีที่เร็วที่สุดในการลบรายการที่ซ้ำกันในรายการคำศัพท์ขนาดใหญ่?
ฉันต้องทำรายการคำซ้ำให้ซ้ำซ้อน ฉันลองใช้หลายคำสั่งและทำการวิจัยที่นี่และที่นี่ซึ่งพวกเขาอธิบายว่าวิธีที่เร็วที่สุดในการขจัดความซ้ำซ้อนของรายการคำดูเหมือนจะใช้ awk awk -> O (n)? จัดเรียง -> O (n บันทึก n)? อย่างไรก็ตามฉันพบว่าสิ่งนี้ดูเหมือนจะไม่เป็นความจริง นี่คือผลการทดสอบของฉัน: sort -u input.txt -o output.txt จริง 0m12.446s ผู้ใช้ 0m11.347s sys 0m0.906s awk '!x[$0]++' input.txt > output.txt ผู้ใช้0m47.221s จริง0m45.419s sys 0m1.260s ดังนั้นการใช้ sort -u จึงเร็วกว่า 3.7 เท่า ทำไมนี้ มีวิธีที่เร็วยิ่งขึ้นในการทำซ้ำซ้อน? *********** อัปเดต ******** เมื่อมีคนชี้ให้เห็นในความคิดเห็นอาจเป็นไปได้ว่ารายการคำศัพท์ของฉันเรียงลำดับแล้วบ้าง เพื่อแยกความเป็นไปได้นี้ฉันสร้าง wordlist สองรายการโดยใช้สคริปต์ …
14 bash  awk  performance  sort 

2
การเรียกใช้หลายพันกระบวนการพื้นหลังขดในแบบคู่ขนานในสคริปต์ทุบตี
ฉันกำลังใช้งาน thounsand ของกระบวนการ background curlขนานในสคริปต์ทุบตีต่อไป START=$(date +%s) for i in {1..100000} do curl -s "http://some_url_here/"$i > $i.txt& END=$(date +%s) DIFF=$(( $END - $START )) echo "It took $DIFF seconds" done ฉันมีเซิร์ฟเวอร์เฉพาะ 49Gb Corei7-920 (ไม่ใช่เสมือน) ฉันติดตามการใช้หน่วยความจำและ CPU ผ่านtopคำสั่งและพวกเขาอยู่ไกลจากขอบเขต ฉันกำลังใช้ps aux | grep curl | wc -lเพื่อนับจำนวนกระบวนการcurlปัจจุบัน ตัวเลขนี้เพิ่มขึ้นอย่างรวดเร็วมากถึง 2-4 พันจากนั้นเริ่มลดลงอย่างต่อเนื่อง หากฉันเพิ่มการแยกวิเคราะห์อย่างง่าย ๆ …
14 linux  performance  bash  curl  wget 

1
ionice ทำงานร่วมกับเครื่องมือกำหนดเวลาหรือไม่
ระบบ Debian Wheezy ของฉันใช้ตัวdeadlineกำหนดตารางเวลา ฉันคุ้นเคยกับการใช้ioniceการกำหนดตารางเวลา I / O ใหม่ของงานที่ต้องใช้ดิสก์มากในเวลาไม่ว่างและโดยทั่วไปสิ่งนี้ดูเหมือนจะช่วยได้ (แต่ฉันไม่มีหลักฐานที่ชัดเจน) ionicemanpage , เอกสาร kernelและเอกสาร OpenSUSE นี้ทั้งหมดชี้ให้เห็นว่ามีเพียงcfqการจัดตารางเวลาคำนึงถึงioniceการแทรกแซง พวกเขาไม่ได้ระบุอย่างชัดเจนว่า schedulers อื่น ๆ ไม่สนใจมัน cfqแต่เพียงคนเดียวที่พวกเขาพูดถึงคือ โดยเฉพาะอย่างยิ่ง schedulers อื่น ๆ ที่deadlineทำงานกับionice?


4
grep ในสองสามพันไฟล์
ฉันมีไดเรกทอรีที่มี cca 26,000 ไฟล์และฉันต้องการ grep ในไฟล์เหล่านี้ทั้งหมด ปัญหาคือฉันต้องการให้เร็วที่สุดดังนั้นจึงไม่เหมาะที่จะสร้างสคริปต์โดยที่ grep จะใช้ชื่อของไฟล์เดียวจากคำสั่ง find และเขียนรายการที่ตรงกันลงในไฟล์ ก่อนที่ปัญหา "รายการอาร์กิวเมนต์ยาวเกินไป" ต้องใช้เวลาประมาณ 2 นาทีในการ grep ในไฟล์นี้ทั้งหมด ความคิดใด ๆ ที่จะทำอย่างไร แก้ไข: มีสคริปต์ที่สร้างไฟล์ใหม่ตลอดเวลาดังนั้นจึงเป็นไปไม่ได้ที่จะนำไฟล์ทั้งหมดไปยังไฟล์ dirs ที่แตกต่างกัน

1
การปิดใช้งานอุปสรรคสำหรับ ext4 ปลอดภัยบนแล็ปท็อปที่มีแบตเตอรี่หรือไม่
หน้าคู่มือบอกเกี่ยวกับbarrierตัวเลือกสำหรับ ext4: อุปสรรคในการเขียนบังคับให้มีการสั่งบันทึกบนดิสก์ที่เหมาะสมของการทำเจอร์นัลทำให้การเขียนดิสก์ระเหยง่ายปลอดภัยในการใช้งานที่มีการปรับประสิทธิภาพบางอย่าง หากดิสก์ของคุณมีแบตเตอรี่สำรองในทางใดทางหนึ่งการปิดใช้งานสิ่งกีดขวางอาจช่วยปรับปรุงประสิทธิภาพได้อย่างปลอดภัย แล็ปท็อปที่มีแบตเตอรี่ (และ SSD) นับเป็นดิสก์ที่มีแบตเตอรี่สำรองหรือไม่ ดังนั้นbarrier=0สำหรับ ext4 จึงปลอดภัยสำหรับแล็ปท็อปหรือไม่?

3
กิจกรรมการเขียนจำนวนมากบน SSD ทำให้ประสิทธิภาพของระบบนิวเคลียร์
ฉันสังเกตว่าเมื่อฉันเขียนแอพพลิเคชั่นอย่างหนักระบบทั้งหมดจะช้าลง เพื่อทดสอบเพิ่มเติมต่อไปนี้ฉันทำสิ่งนี้เพื่อทำ CPU (ค่อนข้างต่ำ), กิจกรรมดิสก์สูง: john -incremental > file_on_SSD สิ่งนี้จะบีบสตริงออกนับหมื่นต่อวินาทีไปยังไฟล์บนดิสก์ระบบของฉัน เมื่อมันทำเช่นนี้เมาส์จะล่าช้า TTY ไม่ตอบสนองแอพพลิเคชั่น "จาง" และโดยทั่วไปคอมพิวเตอร์ทั้งหมดจะไม่สามารถใช้งานได้ ในที่สุดเมื่อฉันสามารถควบคุมได้ + C johnระบบจะกลับมาเต็มความแรงหลังจากไม่กี่วินาที นี่เป็นตัวอย่างที่รุนแรง แต่ฉันมีปัญหาที่คล้ายกันที่มีกิจกรรมการเขียนน้อยมากเช่นการคัดลอกไฟล์ขนาดใหญ่จากแหล่งที่มาอย่างรวดเร็วหรือการแปลงรหัส ดิสก์ระบบปฏิบัติการหลักของฉันคือ SSD ที่ค่อนข้างเร็ว ( OCZ Agility 60GB ) พร้อม EXT4 ถ้าฉันเขียนjohnเอาต์พุตไปยังดิสก์เชิงกลที่มี EXT4 ฉันจะไม่พบกับการทำงานแบบช้าลงแม้ว่าอัตราจะช้ากว่ามาก (SSD ทำได้ ~ 42,000 คำต่อวินาทีและกลไก 8,000 วัตต์ต่อวินาที) ปริมาณงานอาจเกี่ยวข้อง ดิสก์เชิงกลยังไม่มีส่วนเกี่ยวข้องกับระบบ มันเป็นเพียงข้อมูล และฉันใช้เคอร์เนล 2.6.35-2 แต่ฉันสังเกตเห็นปัญหานี้เนื่องจากฉันได้รับ SSD นี้เมื่อฉันอาจใช้. 31 …
13 kernel  performance  io  ssd 

1
ใช้ Linux cgroups เพื่อปรับสมดุลประสิทธิภาพของ CPU
ฉันมีระบบ Linux แบบดูอัลคอร์สองระบบติดตั้งโดยใช้ Linux cgroups ที่มีเคอร์เนลค่อนข้างเร็ว หนึ่งกำลังทำงาน Debian Squeeze, Ubuntu อื่น ๆ 11.04 Natty Narwhal ฉันได้รับภาระซีพียูกับ cgroups ทำงานได้ดีขึ้นเล็กน้อยในระบบ Debian แม้จะมีเคอร์เนลรุ่นเก่า แต่มันไม่เหมาะกับทุกสิ่งและความแปลกประหลาดที่ฉันถามเกี่ยวกับที่นี่เกิดขึ้นกับทั้งสองระบบ หากคุณอ่านการจัดการทรัพยากรใน Linux ด้วยกลุ่มควบคุมจะมีตัวอย่างแสดงวิธีการทำให้เกิดปัญหาอีกครั้ง นี่คือเวอร์ชั่นอูบุนตู (เรียกใช้ด้วยรูท): cd /sys/fs/cgroup/cpu [On Debian Squeeze start at /mnt/cgroups/cpu instead] mkdir low high echo 512 > low/cpu.shares echo 2048 > high/cpu.shares yes low > /dev/null …

1
ทำไมประมวลผลการใช้งาน CPU% มากกว่าเวลา CPU ทั้งหมด
เมื่อฉันรันคำสั่ง TOP กระบวนการจะแสดงการใช้งาน cpu 1208% และเวลา usr ของ CPU ทั้งหมดคือ 81.7% เมื่อเปิดโหมด IRIX เมื่อฉันเปลี่ยนเป็นโหมด IRIX กระบวนการจะแสดงการใช้งาน cpu 99% และเวลา cpu ของผู้ใช้ทั้งหมดคือ 43% ความคิดใด ๆ ที่อาจเกิดขึ้น? อัปเดต VM สามารถกำหนดค่าผิดพลาดหรือไม่เพื่อให้การใช้งาน CPU ไม่ถูกต้องรายงาน?
13 performance  cpu  top 

2
วิธีการป้องกันไม่ให้งาน cron ทำงานในบางช่วงเวลาใน Debian? (a 'gaming' / 'โหมดประสิทธิภาพ')
ดูเหมือนว่าฉันได้ตั้งค่า logcheck เป็นงาน cron และเมื่อใดก็ตามที่กระบวนการทำงานgrepโดยlogcheckใช้เวลาประมาณ CPU ของ CPU ของฉัน ตอนนี้ฉันมีบางช่วงเวลาที่ฉันต้องการ CPU เต็มความจุและให้ระบบของฉันใช้ทรัพยากรน้อยที่สุดเท่าที่จะทำได้ยกเว้นเฉพาะกระบวนการ / (ซึ่งฉันอาจระบุได้) เป็นไปได้ไหมที่จะตั้งค่า Debian 9.1 ด้วยเครื่อง KDE เป็นโหมดประสิทธิภาพบางอย่าง (หรือ 'โหมดการเล่นเกม') ที่ป้องกันกระบวนการที่ผู้ใช้ไม่ได้เริ่มต้นอย่างชัดเจนจากการใช้ทรัพยากรระบบจำนวนมากลดภาระของกระบวนการพื้นหลังและที่สำคัญที่สุด : ล่าช้างาน cron จนกว่าโหมดนั้นจะหยุดอีกครั้ง?

1
ทำไม `strace 'ไม่แสดงว่ากระบวนการนี้กำลังรออะไรอยู่
อันยิ่งใหญ่straceได้ทำให้ฉันผิดหวัง เป็นไปได้อย่างไร? time fooแสดงให้เห็นว่าfooใช้เวลาหลายวินาทีในการเรียกใช้ ("ของจริง") แต่ใช้เวลา cpu เล็กน้อยทั้งใน userspace ("ผู้ใช้") และในเคอร์เนล ("sys") สำหรับผู้อยากรู้อยากเห็นfooมีการกำหนดไว้ด้านล่าง ดังนั้นจึงใช้เวลาส่วนใหญ่รออย่างอื่นไม่ดำเนินการตามคำสั่งของ CPU โดยปกติแล้วฉันจะเห็นว่ามันกำลังรออยู่strace- นั่นคือสิ่งที่การโทรของระบบถูกปิดกั้นเป็นเวลานาน น่าเสียดายที่วิธีนี้ใช้ไม่ได้ผล strace -ttt -T -C -w fooแสดงการเรียกระบบการประทับเวลาและสรุปเวลา (จริง) ที่ใช้ในการโทรของระบบ แต่กระบวนการนี้แสดงให้เห็นว่าการใช้เวลาเล็กน้อยโดยรวม (จริง) ในการโทรของระบบ foojournalctl -b -u dev-hugepages.mountเป็นจริง ยกเว้นว่าฉันต้องเปลี่ยนอาร์กิวเมนต์สุดท้ายเป็นหน่วย systemd ที่แตกต่างกันในแต่ละครั้งเพื่อทำซ้ำสิ่งนี้ กล่าวอีกนัยหนึ่งความล่าช้าที่ฉันกำลังตรวจสอบเกิดขึ้นในครั้งแรกที่ฉันพยายามรับบันทึกสำหรับหน่วย systemd ใดหน่วยหนึ่ง แก้ไข : หลังจากตอบคำถามหลักผมยังตระหนักถึงเหตุผลที่ผมมีปัญหานี้ซ้ำล่าช้า เวลาที่ใช้ในกระบวนการนี้เป็นปัญหาเฉพาะดูเหมือนว่ามันจะไม่เกิดขึ้นในทุกระบบ https://github.com/systemd/systemd/issues/7963

3
วิธีการกำหนดค่า swappiness ในการจัดการหน่วยความจำลินุกซ์?
พารามิเตอร์ swappiness ควบคุมแนวโน้มของเคอร์เนลเพื่อย้ายกระบวนการออกจากหน่วยความจำกายภาพและไปยัง swap disk ตั้งค่าเริ่มต้นคืออะไรและวิธีการกำหนดค่าที่จะปรับปรุงประสิทธิภาพโดยรวม ?

2
การลดลงของประสิทธิภาพการทำงานของ I / O จำนวนมากที่ไม่อาจคาดการณ์ได้ใน Linux
ฉันใช้การทดสอบ Debian โดยไม่มีปัญหาใด ๆ เป็นเวลา ~ 6 ปี (ฉันเพิ่งอัปเดตเป็นประจำ) แต่เมื่อเร็ว ๆ นี้มันเริ่มแสดงพฤติกรรมแบบสุ่มที่สามารถสรุปได้ว่า "ประสิทธิภาพ I / O ต่ำซึ่งยังคงอยู่จนกระทั่งรีบูต" ปัญหาคือทันใดดิสก์ทั้งหมดอ่านและเขียนช้าลงถึง ~ 5MB / วินาทีซึ่งส่งผลในการอ่านและเขียนอย่างต่อเนื่อง เนื่องจากอัตราต่ำมากดิสก์จึงไม่ได้ท้าทายหรือเน้นกลไก แต่ทุกอย่างช้าลงจนกว่าฉันจะรีบูต ระบบย่อย I / O ของคอมพิวเตอร์ประกอบด้วยหนึ่ง OCZ Vertex 3 SSD และ HDD WD Caviar Black สองตัว SSD เก็บส่วนที่อ่านหนักของระบบปฏิบัติการและพาร์ติชันบน HDD เก็บส่วนที่เหลือ เพื่อวินิจฉัยปัญหาฉันลองทำสิ่งต่อไปนี้โดยไม่ประสบความสำเร็จ: top ไม่แสดงกิจกรรมที่ควบคุมไม่ได้ทั้งในการใช้งาน CPU และ I / …
11 linux  performance  io 

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