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

ในการคำนวณเคอร์เนลเป็นองค์ประกอบหลักของระบบปฏิบัติการคอมพิวเตอร์ส่วนใหญ่ มันเป็นสะพานเชื่อมระหว่างแอพพลิเคชันและการประมวลผลข้อมูลจริงในระดับฮาร์ดแวร์ ความรับผิดชอบของเคอร์เนลรวมถึงการจัดการทรัพยากรของระบบ (การสื่อสารระหว่างส่วนประกอบฮาร์ดแวร์และซอฟต์แวร์)

23
rm ในไดเรกทอรีที่มีไฟล์นับล้าน
ความเป็นมา: ฟิสิคัลเซิร์ฟเวอร์อายุประมาณสองปีไดรฟ์ SATA 7200-RPM เชื่อมต่อกับการ์ด RAID 3Ware, ext3 FS ที่ติดตั้งในเวลากลางวันและข้อมูล = สั่งไม่อยู่ภายใต้การโหลดที่บ้าคลั่งเคอร์เนล 2.6.18-92.1.22.el5, uptime 545 วัน . ไดเรกทอรีไม่มีไดเรกทอรีย่อยใด ๆ มีเพียงไฟล์เล็ก ๆ (~ 100 byte) หลายล้านไฟล์และบางอันก็มีขนาดใหญ่กว่า (ไม่กี่ KB) เรามีเซิร์ฟเวอร์ที่มีนกกาเหว่าอยู่เล็กน้อยในช่วงสองสามเดือนที่ผ่านมา แต่เราสังเกตเห็นเพียงวันเดียวเมื่อมันเริ่มไม่สามารถเขียนไปยังไดเรกทอรีได้เนื่องจากมันมีไฟล์มากเกินไป มันเริ่มโยนข้อผิดพลาดนี้ใน / var / log / messages: ext3_dx_add_entry: Directory index full! ดิสก์ที่สงสัยมีจำนวนไอโหนดเหลืออยู่: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 60719104 …
104 kernel  ext3  rm  directory 

7
ฉันจะแสดงรายการพารามิเตอร์พารามิเตอร์ Linux ที่โหลดได้อย่างไร
มีวิธีมาตรฐานในการแสดงรายการค่าพารามิเตอร์ของโมดูล Linux ที่โหลดหรือไม่? ฉันกำลังสำรวจความจริงสำหรับคำตอบอื่นสำหรับคำถามนี้พารามิเตอร์โมดูลเคอร์เนล Linuxเนื่องจากโมดูลที่ฉันสนใจไม่มี/sys/modules/<module_name>/parametersส่วนต่อประสาน
77 linux  kernel 

2
ตัวเลือก“ bs” ใน“ dd” ปรับปรุงความเร็วหรือไม่?
ทุกครั้งที่ผ่านมาฉันได้รับคำสั่งให้เพิ่มความเร็วของ "dd" ฉันควรเลือก "ขนาดบล็อก" ที่เหมาะสม แม้ที่นี่บน ServerFault มีคนเขียนว่า " ... ขนาดบล็อกที่เหมาะสมที่สุดขึ้นอยู่กับฮาร์ดแวร์ ... " (iain)หรือ " ... ขนาดที่สมบูรณ์แบบจะขึ้นอยู่กับบัสระบบของคุณตัวควบคุมฮาร์ดไดรฟ์ฮาร์ดไดรฟ์เฉพาะ ตัวเองและไดรเวอร์สำหรับแต่ละเหล่านั้น ... " (chris-s) เนื่องจากความรู้สึกของฉันแตกต่างกันเล็กน้อย ( BTW: ฉันคิดว่าเวลาที่ต้องปรับจูนพารามิเตอร์ bs นั้นสูงกว่าที่ได้รับมากในแง่ของการประหยัดเวลาและค่าเริ่มต้นนั้นสมเหตุสมผล ) วันนี้ฉันเพิ่งไป ผ่านการวัดประสิทธิภาพที่รวดเร็วและสกปรก เพื่อลดอิทธิพลภายนอกฉันตัดสินใจอ่าน: จากการ์ด MMC ภายนอก จากพาร์ติชันภายใน และ: กับระบบไฟล์ที่เกี่ยวข้อง umounted การส่งออกไปยัง / dev / null เพื่อหลีกเลี่ยงปัญหาที่เกี่ยวข้องกับ "ความเร็วในการเขียน"; หลีกเลี่ยงปัญหาพื้นฐานของการแคช HDD อย่างน้อยเมื่อเกี่ยวข้องกับ HDD ในตารางต่อไปนี้ฉันได้รายงานสิ่งที่พบแล้วอ่านข้อมูล …
58 linux  kernel  dd  disk-image 

4
วิธีปิดการแลกเปลี่ยนใน Linux
ฉันใช้เคอร์เนล 3.18.9 ที่คอมไพล์แล้วและฉันสงสัยเกี่ยวกับวิธีที่ดีที่สุดในการปิดการใช้งาน swap บนระบบ ฉันยังใช้ init หากมันสร้างความแตกต่าง มันเพียงพอที่จะแสดงความคิดเห็นหรือลบบรรทัด swap ใน/etc/fstabเพื่อป้องกันการสลับจากการทำงาน / ติดตั้งที่บูตหรือฉันควรคอมไพล์เคอร์เนลโดยไม่Support for paging of anonymous memory (swap)ต้อง 100% แน่ใจว่ามันไม่ได้เปิดใช้งาน? ฉันรันพาร์ติชั่นที่เข้ารหัสและต้องการป้องกันการรั่วไหลของฮาร์ดดิสก์โดยไม่ตั้งใจ ข้อมูลจำเพาะระบบของฉันนั้นยอดเยี่ยมพอที่ฉันสามารถอยู่รอดได้ในสภาพแวดล้อมที่ไม่มีการแลกเปลี่ยน
53 linux  kernel  swap  init 

1
vm.overcommit_memory ทำงานอย่างไร
เมื่อฉันใช้การตั้งค่าเริ่มต้น: vm.overcommit_memory = 0 vm.overcommit_ratio = 50 ฉันสามารถอ่านค่าเหล่านี้ได้จาก/proc/meminfoไฟล์: CommitLimit: 2609604 kB Committed_AS: 1579976 kB แต่เมื่อฉันเปลี่ยนvm.overcommit_memoryจาก0เป็น2ฉันไม่สามารถเริ่มแอปพลิเคชันชุดเดียวกันที่ฉันสามารถเริ่มก่อนการเปลี่ยนแปลงโดยเฉพาะ amarok ฉันต้องเปลี่ยนvm.overcommit_ratioเป็น300ดังนั้นขีด จำกัด สามารถเพิ่มขึ้นได้ ตอนนี้เมื่อฉันเริ่ม amarok /proc/meminfoแสดงต่อไปนี้ CommitLimit: 5171884 kB Committed_AS: 3929668 kB เครื่องนี้มี RAM เพียง 1GiB แต่ amarok ทำงานได้โดยไม่มีปัญหาเมื่อvm.overcommit_memoryตั้งค่าเป็น 0 แต่ในกรณีที่ตั้งค่าเป็น2amarok จำเป็นต้องจัดสรรหน่วยความจำมากกว่า 2GiB มันเป็นพฤติกรรมปกติหรือไม่? ถ้ามีใครสามารถอธิบายได้ว่าทำไมเช่น firefox (ซึ่งใช้หน่วยความจำมากกว่า amarok 4-6x) ทำงานในลักษณะเดียวกันก่อนและหลังการเปลี่ยนแปลง?
49 memory  kernel  sysctl 

3
ซอฟท์ จำกัด เทียบกับฮาร์ด จำกัด ?
ทุกคนสามารถอธิบายได้ในแง่ของคนธรรมดาความแตกต่างระหว่างขีด จำกัด อ่อนและแข็งคืออะไร ฉันควรตั้งค่าขีด จำกัด แบบอ่อนและแข็งให้เหมือนกันหรือไม่? หรืออ่อนนุ่มควรลดลงอย่างมีนัยสำคัญ? ระบบมีประโยชน์ในทางใดทางหนึ่งหรือไม่? ขอบคุณ
43 linux  ubuntu  kernel  ulimit 

2
ฉันจะตรวจสอบว่าตัวเลือกเคอร์เนลใดที่คอมไพล์ได้โดยไม่ต้องดู / boot / config- *
ฉันจะตรวจสอบได้อย่างไรว่าตัวเลือกใดที่คอมไพล์ลงในเคอร์เนลลินุกซ์โดยไม่ต้องดู/boot/config-*และถ้าฉันไม่มีสิทธิ์เข้าถึง/boot/config-*ไฟล์ที่เหลืออยู่?
42 linux  kernel 

2
ลิงก์สัญลักษณ์เสียหาย / vmlinuz และ /initrd.img หลังจากถอนการติดตั้งเคอร์เนล
ระบบปฏิบัติการ: Ubuntu 8.04 LTS Server Edition เราเพิ่งย้อนกลับเคอร์เนลอัพเดตโดยใช้คำสั่งต่อไปนี้: sudo apt-get remove linux-image-2.6.24-24-server การถอนการติดตั้งสำเร็จ แต่มีข้อความต่อไปนี้ก่อนapt-getออก: The link /vmlinuz is a damaged link Removing symbolic link vmlinuz you may need to re-run your boot loader[grub] The link /initrd.img is a damaged link Removing symbolic link initrd.img you may need to re-run your boot …

6
การปรับปรุงประสิทธิภาพ TCP บนเครือข่ายกิกะบิตที่มีการเชื่อมต่อจำนวนมากและปริมาณการใช้งานสูงของแพ็กเก็ตขนาดเล็ก
ฉันกำลังพยายามปรับปรุงปริมาณงาน TCP ผ่าน "เครือข่ายกิกะบิตที่มีการเชื่อมต่อจำนวนมากและปริมาณการใช้งานสูงของแพ็กเก็ตขนาดเล็ก" ระบบปฏิบัติการเซิร์ฟเวอร์ของฉันคือ Ubuntu 11.10 Server 64 บิต มีลูกค้าประมาณ 50,000 ราย (และเติบโต) ที่เชื่อมต่อกับเซิร์ฟเวอร์ของฉันผ่าน TCP Sockets (ทั้งหมดบนพอร์ตเดียวกัน) 95% ของแพ็คเก็ตของฉันมีขนาด 1-150 ไบต์ (ส่วนหัว TCP และส่วนของข้อมูล) ส่วนที่เหลือ 5% แตกต่างจาก 150 ถึง 4096+ ไบต์ ด้วยการกำหนดค่าด้านล่างเซิร์ฟเวอร์ของฉันสามารถรองรับปริมาณข้อมูลสูงถึง 30 Mbps (ดูเพล็กซ์เต็มรูปแบบ) คุณช่วยแนะนำวิธีปฏิบัติที่ดีที่สุดในการปรับแต่งระบบปฏิบัติการตามความต้องการของฉันได้หรือไม่? /etc/sysctl.congหน้าตาของฉันเป็นแบบนี้: kernel.pid_max = 1000000 net.ipv4.ip_local_port_range = 2500 65000 fs.file-max = 1000000 # net.core.netdev_max_backlog=3000 …

4
ปิดตัวจัดการ Linux OOM ตามค่าเริ่มต้นหรือไม่
OOM killer บน Linux สร้างความเสียหายให้กับแอพพลิเคชั่นต่าง ๆ ทุกครั้งและดูเหมือนว่าไม่ค่อยมีการพัฒนาเคอร์เนลมากนักเพื่อปรับปรุงสิ่งนี้ จะเป็นการดีกว่าหากเป็นวิธีปฏิบัติที่ดีที่สุดในการตั้งค่าเซิร์ฟเวอร์ใหม่เพื่อย้อนกลับค่าเริ่มต้นในหน่วยความจำที่มีมากเกินไปนั่นคือปิด ( vm.overcommit_memory=2) เว้นแต่คุณรู้ว่าคุณต้องการใช้งานโดยเฉพาะหรือไม่? และกรณีการใช้งานเหล่านั้นจะเป็นอย่างไรในที่ที่คุณรู้ว่าคุณต้องการ overcommitting ในฐานะโบนัสเนื่องจากพฤติกรรมในกรณีที่vm.overcommit_memory=2ขึ้นอยู่กับvm.overcommit_ratioและสลับพื้นที่จะมีกฎอะไรที่ดีสำหรับการปรับขนาดสองหลังเพื่อให้การตั้งค่าทั้งหมดนี้ทำงานอย่างมีเหตุผล
37 linux  memory  kernel  oom 

5
ฉันจะทราบได้อย่างไรว่าเกิดอะไรขึ้นกับการขัดจังหวะบน Windows
บางครั้งฉันเจอเซิร์ฟเวอร์ (Windows 2003 และ 2008) ที่มีการขัดจังหวะตัวประมวลผล% สูง มีวิธีดูว่าโปรแกรมหรืออุปกรณ์ใดทำให้เกิดการขัดจังหวะหรือไม่

4
ตอบค่าเริ่มต้นโดยอัตโนมัติเมื่อทำการ 'ทำให้ oldconfig' บนแผนผังเคอร์เนล
เมื่อสร้างเคอร์เนลใหม่ตามการตั้งค่าก่อนหน้ามีวิธีการทำให้make oldconfigกระบวนการอัตโนมัติเพื่อให้ตัวเลือกใหม่เป็นค่าเริ่มต้นหรือไม่ แก้ไข:สิ่งที่ฉันหมายถึงคือเมื่อใช้. config (จาก/boot/config-*หรือ/proc/config.gz) ในเคอร์เนลที่ใหม่กว่าmake oldconfigกระบวนการจะถามว่าคุณต้องการเปิดใช้งานตัวเลือกที่ไม่พร้อมใช้งานในเคอร์เนลเก่าของคุณหรือไม่ คุณสามารถตอบ Y / n / m หรือกด Enter เพื่อยอมรับค่าเริ่มต้น ฉันต้องการยอมรับค่าเริ่มต้นโดยอัตโนมัติโดยไม่มีการโต้ตอบกับผู้ใช้
36 linux  kernel 

2
ulimit -n และ / proc / sys / fs / file-max แตกต่างกันอย่างไร
ฉันสังเกตเห็นว่าในภาพ CentOS ใหม่ที่ฉันเพิ่งบูทขึ้นจาก EC2 ว่าค่าเริ่มต้น ulimit คือ 1024 เปิดไฟล์ แต่ / proc / sys / fs / file-max ตั้งไว้ที่ 761,408 และฉันสงสัยว่าทั้งสองขีด จำกัด ทำงานอย่างไร ด้วยกัน. ฉันคาดเดา ulimit -n จำกัด จำนวนตัวอธิบายไฟล์ต่อผู้ใช้ในขณะที่ / proc / sys / fs / file-max เป็นระบบกว้างหรือไม่ หากเป็นเช่นนั้นสมมติว่าฉันได้เข้าสู่ระบบเป็นสองเท่าของผู้ใช้เดียวกัน - ผู้ใช้ที่เข้าสู่ระบบแต่ละคนมีขีด จำกัด 1024 ของจำนวนไฟล์ที่เปิดหรือว่าเป็นข้อ จำกัด ของ 1024 ไฟล์ที่เปิดรวมระหว่างแต่ละไฟล์ ในผู้ใช้? และมีผลกระทบต่อประสิทธิภาพการตั้งค่าตัวอธิบายไฟล์สูงสุดของคุณเป็นจำนวนที่สูงมากหากระบบของคุณไม่เคยเปิดไฟล์จำนวนมาก?
32 linux  bash  kernel  ulimit 

3
“ SYN ท่วมได้ที่เป็นไปได้” ในบันทึกแม้จะมีการเชื่อมต่อ SYN_RECV จำนวนน้อย
เมื่อเร็ว ๆ นี้เรามีเซิร์ฟเวอร์ apache ที่ตอบสนองช้ามากเนื่องจากการเกิดน้ำท่วม SYN วิธีแก้ปัญหาสำหรับสิ่งนี้คือการเปิดใช้งาน tcp_syncookies ( net.ipv4.tcp_syncookies=1 in /etc/sysctl.conf) ฉันโพสต์คำถามเกี่ยวกับเรื่องนี้ที่นี่ถ้าคุณต้องการพื้นหลังเพิ่มเติม หลังจากเปิดใช้งาน syncookies เราเริ่มเห็นข้อความต่อไปนี้ใน / var / log / ข้อความประมาณทุก 60 วินาที: [84440.731929] possible SYN flooding on port 80. Sending cookies. Vinko Vrsalovic แจ้งผมว่านี้หมายถึงค้าง SYN จะได้รับเต็มรูปแบบเพื่อผมยก tcp_max_syn_backlog เพื่อ 4096 ในบางจุดที่ผม tcp_synack_retries ยังลดลงถึง 3 (ลดลงจากเริ่มต้นของ 5) sysctl -w net.ipv4.tcp_synack_retries=3โดยการออกและเสนอขาย …
30 linux  tcp  kernel  flooding 

1
การเพิ่ม net.core.somaxconn จะสร้างความแตกต่างหรือไม่?
ฉันได้รับการโต้แย้งในพารามิเตอร์ net.core.somaxconn: ฉันบอกว่ามันจะไม่สร้างความแตกต่างถ้าเราเปลี่ยนค่าเริ่มต้น 128 ฉันเชื่อว่านี่อาจเป็นข้อพิสูจน์ที่เพียงพอ: "ถ้าอาร์กิวเมนต์งานค้างมีค่ามากกว่าค่าใน / proc / sys / net / core / somaxconn แสดงว่ามีการตัดทอนอย่างเงียบ ๆ เป็นค่านั้น" http://linux.die.net/man/2/listen แต่มันไม่ใช่ ไม่มีใครรู้วิธีที่จะเป็นพยานในเรื่องนี้ด้วยสองเครื่องซึ่งนั่งอยู่บนเครือข่าย Gbit? สิ่งที่ดีที่สุดคือ MySQL, LVS, apache2 (2.2), memcached

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