原创 EAS(能量感知調度)綠色節能調度器

能量感知調度(EAS)使調度程序能夠預測其決策對 CPU 消耗的電量的影響。 EAS 依賴於 CPU 的能量模型 (EM) 來爲每個任務選擇省電的 CPU,同時要求對執行任務的吞吐量的影響最小。 EAS 僅在異構 CPU 架構上(例如 Ar

原创 aarch64 和 ARMV8 的區別

aarch64 和 ARMv8 是緊密相關但涵義不同的術語,在解釋他們的區別之前,讓我們先簡單理解它們各自的含義: ARMv8: ARMv8 是指 ARM 架構的第八個版本,這是由 ARM Holdings 設計的一種處理器架構(也稱爲 A

原创 ARM64 SMP多核啓動(下)- PSCI

4.支持psci情況 上面說了pin-table的多核啓動方式,看似很繁瑣,實際上並不複雜,無外乎主處理器喚醒從處理器到指定地址上去執行指令,說他簡單是相對於功能來說的,因爲他只是實現了從處理器的啓動,僅此而已,所以,現在社區幾乎很少使用s

原创 eBPF 概述:第 4 部分:在嵌入式系統運行

1. 前言 在本系列的第 1 部分和第 2 部分,我們介紹了 eBPF 虛擬機內部工作原理,在第 3 部分我們研究了基於底層虛擬機機制之上開發和使用 eBPF 程序的主流方式。 在這一部分中,我們將從另外一個視角來分析項目,嘗試解決嵌入式

原创 eBPF 概述:第 3 部分:軟件開發生態

1. 前言 在本系列的第 1 部分和第 2 部分中,我們對 eBPF 虛擬機進行了簡潔的深入研究。閱讀上述部分並不是理解第 3 部分的必修課,儘管很好地掌握了低級別的基礎知識確實有助於更好地理解高級別的工具。爲了理解這些工具是如何工作的,我

原创 linux中透明巨頁與巨頁的區別

在Linux中,透明巨頁(Transparent HugePage)和巨頁(HugePage)是兩種不同的內存管理技術。 透明巨頁是Linux內核中的一項特性,旨在提高內存的利用率和性能。它通過將內存分配爲更大的巨頁(通常爲2MB或1GB)

原创 eBPF 概述:第 2 部分:機器和字節碼

1. 前言 我們在第 1 篇文章中介紹了 eBPF 虛擬機,包括其有意的設計限制以及如何從用戶空間進程中進行交互。如果你還沒有讀過這篇文章,建議你在繼續之前讀一下,因爲沒有適當的介紹,直接開始接觸機器和字節碼的細節是比較困難的。如果有疑問,

原创 eBPF 概述:第 1 部分:介紹

1. 前言 有興趣瞭解更多關於 eBPF 技術的底層細節?那麼請繼續移步,我們將深入研究 eBPF 的底層細節,從其虛擬機機制和工具,到在遠程資源受限的嵌入式設備上運行跟蹤。 注意:本系列博客文章將集中在 eBPF 技術,因此對於我們來講,

原创 /proc/sys/vm 使用

這些參數主要是用來調整virtual memory子系統的行爲以及數據的寫出(從RAM到ROM)。 這些節點(參數)的默認值和初始化的過程大部分都可以在mm/swap.c中找到。 目前,/proc/sys/vm目錄下有下面這些節點: ad

原创 /proc/pagetypeinfo

這個文件是將buddyinfo的內容進一步細分: Free pages count per migrate type at order -- 不同order 按照migrate type的空閒page數量 Number of blocks

原创 /proc/pids/smaps

Linux內存管理 -- /proc/{pid}/smaps講解 基本介紹 /proc/PID/smaps 文件是基於 /proc/PID/maps 的擴展,他展示了一個進程的內存消耗,比同一目錄下的maps文件更爲詳細。 值得說明一下的

原创 /proc/pids/limits

cat /proc/39977/limits Limit Soft Limit Hard Limit Units Max cpu time

原创 /proc/vmalloc

root@pita2_mr813_tina35:/# cat /proc/vmallocinfo 0xffffff80007d0000-0xffffff8000902000 1253376 load_module+0x854/0x1d48

原创 /proc/buddyinfo

在應用程序設計過程中,內存是很重要的資源,而計算機主機的內存資源時有限的。一般而言我們可以申請到的內存是有限的,並不是想申請多大就有多大就可以申請多大的。/proc/buddyinfo文件裏,就記錄着系統的內存資源。 linux內核中使用了

原创 linux內核 快速分片,技術|Linux slabtop命令——顯示內核片緩存信息

Linux內核需要爲臨時對象如任務或者設備結構和節點分配內存,緩存分配器管理着這些類型對象的緩存。現代Linux內核部署了該緩存分配器以持有緩存,稱之爲片。不同類型的片緩存由片分配器維護。本文集中討論slabtop命令,該命令顯示了實時內核