原创 通過 ulimit 改善Linux系統性能

概述系統性能一直是一個受關注的話題,如何通過最簡單的設置來實現最有效的性能調優,如何在有限資源的條件下保證程序的運作,ulimit 是我們在處理這些問題時,經常使用的一種簡單手段。ulimit 是一種 linux 系統的內鍵功能,它具有一套

原创 linux通用鏈表

   在大學學習《數據結構》時,鏈表是必須要精通的。那個時候什麼線性結構的數據都用鏈表來玩過,還有十字鏈表等。但看了內核的通用鏈表才感覺什麼叫實用。一、鏈表結構和初始化struct list_head { struct list_

原创 python調用C庫

編寫C庫test.c#include <stdio.h> #include <string.h> int strcmpTest(char *a, char *b) { return strcmp(a, b); } void

原创 linux通用hash鏈表

   與我昨天寫的《linux通用鏈表》類似,主要分析linux提供的頭文件代碼(linux/list.h)。一、結構定義及初始化/* hash頭節點定義 */ struct hlist_head { struct hlist_n

原创 程序員應該知道的——大小端

   最近又碰到了大小端引發的一些問題,看來是該來總結總結。    大端方式將高位存放在低地址,小端方式將低位存放在高地址。採用大端方式 進行數據存放符合人類的正常思維,而採用小端方式進行數據存放利於計算機處理。但是也不是所有計算機都採用

原创 配置isc-dhcp failover

   在中小範圍的網絡中,通常只有一個dhcp服務器就可以輕鬆搞定,也不必過分考慮安全和性能。但是在特大網絡或者特殊網絡中,一個dhcp服務器不能滿足要求。比如要求dhcp服務不能間斷,但是在dhcp服務器系統更新或者出現故障的時候就需要

原创 linux系統引導啓動過程分析

   本來想自己來寫個linux的引導啓動過程,在整理資料時發現這篇文章很全面,然後在此基礎上修改了點,發出來了。 該文是針對GRUB Legacy版本寫的,與GRUB2有少許地方不一樣。   關於linux系統的啓動流程我們可以按步進行

原创 配置isc-dhcrelay需要注意的事項

開啓dhcrelay服務注意以下幾點:1、啓動dhcrelay進程,需要使用-i參數指定與客戶端連接的接口,同時也要使用-i參數指定與dhcp server連接的接口2、在第1點中會引入bug,就是當有某個終端連接到與dhcp server

原创 python語言實現mac地址自加

【目的】    以配置文件中的mac地址爲起始地址(形式爲xx:xx:xx:xx:xx:xx),並根據步長設置實現mac自加,然後以該mac爲源mac模擬報文。【實現步驟】第一步:將刪除‘:’的影響,字符串轉換成字節流;import str

原创 python讀配置文件

   當有一個配置文件,裏面定義了很多變量和它們的值。例如:test1 = 1 test2 = 22 test3 = 333通常情況下,配置文件還需要支持註釋行,容錯處理(鍵值前後有可忽略的空格或者tab鍵等)。用C語言實現的話,複雜的是

原创 shell實現mac自加

Mac="00:00:00:00:00:01" num=1000 mac6=$(echo $Mac| awk -F':' '{print $6}') ((mac6=16#$mac6)) mac5=$(echo $Mac| awk -F':'

原创 linux下設置文件屬性的命令

   對普通用戶來說,一個文件的屬性一般只指可讀、可寫、可執行等權限。使用命令ls -l也很容易來查看某個文件或文件夾的權限。zhangyu@ubuntu-systemplatfor:~/test$ ls -l total 16 -rwx

原创 isc-dhcp監聽網口的實現步驟

   在啓動dhcpd進程的日誌記錄開始部分,我們都會看到類似如下的打印:create for interface for eth5 dhcp_interface_setup_hook eth5, for addr 10.40.124.2

原创 isc-dhcp性能優化的一種方法

使用gprof工具,可以測出dhcp的性能瓶頸在mdb.c中的lease_enqueue函數。該函數的功能就是維護地址池內部的不同狀態下的地址鏈表,這些鏈表都必須根據時間排序的。目的是每次遍歷都從最老的lease開始。排序代碼:/* Ins

原创 我的友情鏈接

51CTO博客開發喻勇的博客Linux內核修煉之道 | Linux那些事兒李雲