2024年6月14日 星期五

Linux System Load Average

Linux 的系統平均負載可在 uptimetop、cat /proc/loadavg、w(ho) 等看到,有三組數字,分別表示最近 1 分鐘、5 分鐘、和 15 分鐘的平均負載。

平均負載在 Linux kernel 紀錄在 avenrun[],每 5 秒更新一次,公式為

new = old * exp_n + active * (1 - exp_n)

採用定點表示,計算式變成

new = old * EXP_N + active * (FIXED_1 - EXP_N);
if (active >= old)
    new += FIXED_1 - 1;
new /= FIXED_1;

小數部份有 11 bits,相乘擴充為 22 bits,所以精確度為 10 bits 整數,加上 11 bits 小數。FIXED_1 為 1.0,是 (1<<11)。EXP_N 在 1 分鐘、5 分鐘、和 15 分鐘分別是

#define EXP_1   1884    /* 1/exp(5sec/1min) as fixed-point */
#define EXP_5   2014    /* 1/exp(5sec/5min) */
#define EXP_15  2037    /* 1/exp(5sec/15min) */

1/exp5/60 * FIXED_1 = 1884

包含 TASK_UNINTERRUPTIBLE?

參考

  1. Dr. Neil Gunther 的 UNIX Load Average Part 1: How It Works, Part 2: Not Your Average Average

https://hackmd.io/@RinHizakura/S1K4fQtaF

2024年6月2日 星期日

NVIS

NVIS (Near vertical incidence skywave)

同樣是 HF 頻率,DX 以低角度發射到電離層,反射到長距離外;而 NVIS 以接近垂直的角度射向電離層,再反射回周遭地帶,依天線效能、發射功率、電離層狀況,覆蓋範圍可達 400km。NVIS 為視距外 (泛指VHF,UHF),又未需長距離 DX 通訊內的近區通訊選擇。NVIS 的傳播特性接近直上直落,幾乎沒有阻礙關係,訊號衰減較傳統電波傳播少和比較穩定,適合小功率和電池操作的場合。NVIS 使用的是 F2 電離層,為此電波既要穿過 D layer,又不能讓之直飛太空,日夜以至不同季節,電離層狀況,太陽粒子周期等因素所用頻率皆不盡相同。一般只能使用1.8 – 7MHz。

https://www.vr2xkp.org/2023/07/30/天空之鏡-nvis-技術淺談/

Citizens band radio

Citizens band radio (市民頻段無線電、民用波段無線電台、CB無線電),在台灣CB頻率從26.965至27.405MHz之間,頻道間隔 10 kHz,共分40個波段頻道,第9頻道27.065MHz是緊急頻道,CB機的發射功率最高只能到5W。波長 11 米。使用手持機可通訊的視線距離約300至500公尺左右,使用基地天線收發大約通訊距離約1至5公里之間。27MHz 屬於 HF 頻帶,可經由電離層反射到遠方,電波一次的跳躍距離約500至800公里之間。

參考:https://www.radio.club.tw/forum.php?mod=viewthread&tid=9642

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...