[ubuntu-24] Set read_ahead_kb kernel parameter to 128 (#13938)

This commit is contained in:
Georgy Puzakov
2026-04-19 14:54:05 +02:00
committed by GitHub
parent a8a3c82585
commit 1d950d2fc7
2 changed files with 32 additions and 0 deletions
@@ -22,3 +22,25 @@ Describe "fwupd removed" {
$systemctlOutput | Should -Not -Match "active"
}
}
# https://github.com/actions/runner-images/issues/13770
# Linux kernel 6.17 changed read_ahead_kb from 128 to 4096 on Azure VMs, causing I/O thrashing
Describe "ReadAhead udev rule" -Skip:(-not (Test-IsUbuntu24)) {
It "udev rule file exists" {
"/etc/udev/rules.d/99-readahead.rules" | Should -Exist
}
It "udev rule contains correct read_ahead_kb value" {
$content = Get-Content "/etc/udev/rules.d/99-readahead.rules" -Raw
$content | Should -Match 'ATTR\{queue/read_ahead_kb\}="128"'
}
It "All sd* devices have read_ahead_kb set to 128" {
$devices = Get-ChildItem "/sys/block/sd*/queue/read_ahead_kb" -ErrorAction SilentlyContinue
$devices | Should -Not -BeNullOrEmpty -Because "there should be at least one sd* block device"
foreach ($dev in $devices) {
$value = (Get-Content $dev.FullName).Trim()
$value | Should -Be "128" -Because "read_ahead_kb for $($dev.FullName) should be 128 to prevent I/O thrashing"
}
}
}