原创 進程託孤

前言     我們知道,一個任務在消亡退出時通常會將子任務(後面用孤兒或者children表示)託付其他任務(後面用reaper表示)以便以後“收屍”,這個流程就是“託孤”。     託孤會爲子任務尋找一個新的parent作爲new re

原创 aarch64異常(一)aarch64異常簡介

目錄   Aarch64中異常的基本概念 異常發生時硬件做了哪些事情?   異常的處理 Aarch64中異常的基本概念 在aarch64中,將中斷、系統調用、數據指令異常等等情況統稱爲異常。異常會中斷當前cpu執行流,轉而執行具有更高權限

原创 Docker run 容器處於created狀態問題

在最近遇到的一次問題中,有這樣一種現象:   系統有一個測試腳本會不斷的執行docker run命令來運行容器,在測試過程中發現有一個情況是,有時候容器沒有完全被運行到"Up"狀態,而是處於"created"狀  態,現象十分奇怪。  

原创 xenomai系統中timer校準簡要分析

一、背景   Xenomai爲了提升系統的響應速度、減少響應延時在各個維度上都做了許多工作。   其中爲了減少定時器上的延時在定時器上實時了一個叫做gravity的校準,以儘可能的消除timer響應路徑上的延時,確保定時器的響應時間更加接

原创 aarch64異常(二)el0_irq

內核版本:linux-4.9.217 目錄 1 異常向量表 ----異常發生後cpu如何跳轉到正確的異常處理入口 2 保存現場 ----進入異常入口後如何保存現場 3 中斷處理 ----識別了異常,現在要跳轉到真正的處理函數中處理中斷 4

原创 在兩個不同的vim之間進行復制粘貼

轉自:https://blog.csdn.net/trochiluses/article/details/9237379 使用vim進行編輯的時候,如果我們打開了兩個不同的vim,此時不能用yy和p在兩個Vim窗口之間進行復制和粘貼,此時

原创 利用systemd的定時器來定時停止服務

需求背景:  有時候我們有這樣的一種需求:需要一些服務在定時運行一段時間後就停止。實現這種需求的方法有許多種,這裏介紹一種基於systemd實現方式。 場景:希望在dockerd服務在每次啓動1個小時後就關閉服務。 實現:利用system

原创 如何爲qemu製作Qcow2格式文件系統

一、 製作8G大小的raw鏡像文件 qemu-img create -f raw ./virt-disk 8G" 上面的命名生成一個大小爲8G的raw鏡像virt-disk。 二、將virt-disk於loop設備關聯 sudo lo

原创 網絡性能相關測試

 有很多同學可能會在沒有硬件網絡測試工具的情況下需要了解網絡性能,在這種場景下可以使用一些開源的軟件工具來實現,比如lmbench,netperf,ipperf等等。 一、lmbench 關於lmbench的介紹我就不多說了,請參考lmb

原创 仿照taskset的任務親和性設置小程序

#define _GNU_SOURCE #include <sched.h> #include <unistd.h> /* sysconf */ #include <stdlib.h> /* exit */ #include <stdi

原创 製作簡單的http鏡像

一、編寫簡單的http服務 首先寫一個簡單的http服務器程序: package main import ( "fmt" "net/http" ) type MyHandler struct{ } //實現接口的Ser

原创 製作一個最簡單ftpd容器鏡像

準備基本的根文件系統鏡像     先從dockerhub pull  busybox鏡像到本地。Pull完成後可以通過docker images看到busybox:latest鏡像。 準備entrypiont文件     然後編寫entr

原创 交叉構建sqlite與libseccomp

背景     在交叉構建第三方的一些組件時需要依賴sqlite以及libseccomp,此時就需要先交叉構建sqlite和libseccomp。下面簡單說明如何交叉構建sqlite和libseccomp。 獲取源碼     可以根據自己需

原创 cat /proc/$pid/smaps淺析(一)

引子     當我們執行cat /proc/pid/smaps讀取某個進程對應的虛擬內存區間到信息顯示給我們,整個過程究竟發生了什麼呢?         >>用戶態open("/proc/pid/smaps")-->  內核proc_pi

原创 Registry私有倉庫的鏡像清理

一、背景     在私有registry倉庫的場景中,對於私有鏡像的升級操作是一個比較常見的操作。然而在我們升級私有鏡像、並push到私有倉庫後,升級前的鏡像也就失去了它存在的意義;而隨着時間的積累,舊鏡像將會越來越多,舊鏡像的數據有可能