原创 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命令,該命令顯示了實時內核
原创 kmemleak 和kasan 的區別
kmemleak 和kasan 都是 Linux 內核中的一些工具和特性,用於幫助進行內存錯誤檢測和修復。然而,它們之間有一些區別: 功能:kmemleak 用於檢測內核中未釋放的內存泄漏,它可以跟蹤內核中分配的內存塊,並在系統運行時檢查未
原创 CPU緩存僞共享
CPU緩存什麼東西?當然這個問題很多人有可能覺得比較傻,CPU緩存什麼,肯定是緩存數據(代碼)啊,要不然還能緩存啥,這個確實沒問題,但是CPU到底緩存什麼樣的數據呢?因爲對CPU來說,無論是指令,還是數據,都是數據,他如果要緩存,緩存的單位