Time of Update: 2018-12-03
從2011-11-17到今天2012-2-9 15:25 , 我終於完成了我的LFS(Linux From Scratch)第一次編譯運行,中間無數次的重做終於有了回報,哈哈哈哈。:這是系統選擇的登入介面,宿主系統是Ubuntu10.04,上面6項都是ubuntu的,最後高亮的是我的LFS是系統自舉後,運行到login程式,等待使用者登入最後是登入進入系統後,和bash shell互動的圖片 堅持不下去的時候,只有引發你興趣的工作才會讓你再最後堅持一下,I believe !
Time of Update: 2018-12-03
從學習程式開始到現在一共12年了,用了12年的windows,現在終於開始學習使用linux了。原因是用windows 7 處理很多的檔案(常常是10個G),系統有點吃不消了,雖然我是400G的硬碟。最後發現linux處理檔案的速度很快,就裝了一個centos。發現處理檔案的速度是windows 7的三倍,線程的調度能力就不止3倍了。在windows下讀寫檔案線程超過200的時候,cpu的利用率幾乎是百分之百,換了linux以後就只有40%。附上網上一篇文章,裡面有linux常用軟體。http:
Time of Update: 2018-12-03
linux下的loadavg真是內容十分豐富,現在加強學習如下:1 uptime後,結果的分析如下: 7:51pm up 2 days, 5:43, 2 users,loadaverage: 8.13, 5.90, 4.949/84
Time of Update: 2018-12-03
裝是裝了很多次了,但還是覺得要筆記之比較好.環境是red hat linux 4+mysql5+apache 2+php51 安裝apache tar zvxf httpd-2.0.46.tar.gz cd httpd-2.0.46 ./configure --prefix=/usr/local/apache2 --enable-so \ --enable-mods-shared=most && make && make install
Time of Update: 2018-12-03
在LINUX 2.6中,有四種關於IO的調度演算法,下面綜合小結一下: 1) NOOP NOOP演算法的全寫為No Operation。該演算法實現了最最簡單的FIFO隊列,所有IO請求大致按照先來後到的順序進行操作。之所以說“大致”,原因是NOOP在FIFO的基礎上還做了相鄰IO請求的合并,並不是完完全全按照先進先出的規則滿足IO請求。NOOP假定I/O請求由驅動程式或者裝置做了最佳化或者重排了順序(就像一個智能控制器完成的工作那樣)。在有些SAN環境下,這個選擇可能是最好選擇。Noop
Time of Update: 2018-12-03
http://www.perfgeeks.com/?p=18我們這裡應用的是CentOS5.3,並核心使用的是2.6.18-128.el5PAE #1 SMP 。修改部分TCP ,有的是為了提高效能與負載,但是存在降低穩定性的風險。有的則是安全方面的配置,則有可能犧牲了效能。1.TCP keepalive TCP串連保鮮設定echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_timeecho 15 >
Time of Update: 2018-12-03
當使用者發現最近伺服器有異常時,可以開啟進程監視統計功能,所有記錄資訊會寫入/var/account/pacct和/var/account/acct中介紹如下1 啟動:accton /var/account/pact 顯示進程統計 Lastcomm2 停止進程統計 accton3 Sa |more
Time of Update: 2018-12-03
在linux 2.6核心後,可以通過cat /proc/diskstats查看出具體的磁碟IO壓力: 8 0 sda 130767120 478199 2848404253 865895766 … 8 1 sda1 58 740 1598 96 2 0 4 0 0 96 96 8 2 sda2 4031326 3249 64502142 3693948 5273723 … 8 3 sda3 142 3261 4030 865 538334 302764 … 其中,
Time of Update: 2018-12-03
在linux的核心參數調整中,有幾個參數是可以調整下的,比如用netstat發現如下很多time-wait數量netstat -ae|grep 1521|grep root通過查看:vi /etc/sysctl.conf可以看到net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepalive_time = 1200net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse =
Time of Update: 2018-12-03
1 命令替換和重新導向有些相似,但區別在於命令替換是將一個命令的輸出作為另外一個命令的參數。常用命令格式為: command1 `command2` 其中,command2的輸出將作為command1的參數。需要注意的是這裡的`符號,被它括起來的內容將作為命令執行,執行後的結果作為command1的參數。 例如: $ cd `pwd` 該命令將pwd命令列出的目錄作為cd命令的參數,結果仍然是停留在目前的目錄下。 2 find /home -user jacky
Time of Update: 2018-12-03
雖然在linux下,SECUR CRT可以用RZ去傳檔案,但還是要去學習和小結下如何在linux下配置FTP了,這次講解下如何用vsftpd去小結下.1 安裝vsftpd.rpm,用 rpm -Uvh vsftpd.rmp2 安裝db工具包 rpm -Uvh db4-utils.rpm3 建立兩個檔案夾 /usr/local/ftp/home1和/usr/local/ftp/home24 建立兩個使用者ftpuser1,ftpuser2,並禁止其登陸shell,僅用於ftp登陸
Time of Update: 2018-12-03
此命令是Linux下常用的效能分析工具,能夠即時顯示系統中各個進程的資源佔用狀況,類似於Windows的工作管理員。下面詳細介紹它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0
Time of Update: 2018-12-03
先連網,修改網路連接模式為NAT:cat
Time of Update: 2018-12-03
下面是linux下安裝apache的完整代碼,系統是redhat5.5下載httpd-2.2.6.tar.bz2 把httpd-2.2.6.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft]#tar jxvf httpd-2.2.6.tar.bz2 //解壓apache的壓縮包[root@localhost soft]#cd httpd-2.2.6 //定位到httpd-2.2.6 檔案夾下[root@
Time of Update: 2018-12-03
檔案鎖是Linux上最常用的進程間同步機制之一,相比sysv的訊號量,檔案鎖更容易使用(sysv訊號量的麻煩之處在於它的key擷取機制)。 APUE對檔案鎖做了詳盡的描述,其中需要注意的有以下幾點,原文可參見APUE2的14.3節:1,檔案鎖(file_lock)與檔案(確切的說是檔案的inode)及進程捆綁,Linux實現中檔案的file_lock結構掛在該檔案對應的inode結構中,而file_lock結構中包含了該鎖所屬進程的pid。這種實現方式造成了兩種後果:a,
Time of Update: 2018-12-03
一,不是 malloc 後就馬上佔用實際記憶體,而是第一次使用時(如對記憶體賦值,memset等操作)發現虛存對應的物理頁面未分配,產生缺頁中斷,才真正分配物理頁面,同時更新進程頁面的映射關係。但由於每個實體記憶體頁面大小是 4k ,不管 memset其中的1k還是5k 、7k ,實際佔用實體記憶體總是 4k 的倍數。所以 RSS 的增量總是 4k 的倍數。二,可以通過如下命令查看一個進程佔有的虛擬記憶體和實體記憶體大小: ps aux | grep pid | grep -v grep
Time of Update: 2018-12-03
我們來配置一個filter表的防火牆 1、查看本機關於IPTABLES的設定情況 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt
Time of Update: 2018-12-03
一、製作用於嵌入式平台的核心(這裡以6410開發板為例) 1、清除原有配置與中間檔案 (1)X86 : make distclean (2)arm : make distclean 2、配置核心 (1)x86 : make menuconfig (2)arm :make menuconfig
Time of Update: 2018-12-03
一、簡單介紹下早期的記憶體實現:(可略過) 1、在早期的電腦中,運行一個程式的特點是: (1)會把這些程式全都裝入記憶體, (2)程式都是直接運行在記憶體上的,也就是說程式中訪問的記憶體位址都是實際的實體記憶體地址。 2、在早起的記憶體實現方式中出現的問題: (1)當計算 機同時運行多個程式時,必須保證這些程式用到的記憶體總量要小於電腦實際實體記憶體的大小。
Time of Update: 2018-12-03
一、在2.6.29版本的Linux源碼中,有360個系統調用,可以在 arch/arm/include/asm/unistd.h中找到二、系統調用工作原理概述 1、應用程式首先用適當的值填充寄存器 2、調用一個特殊的指令跳轉到核心某一固定的位置 3、核心根據應用程式所填充的固定的值來找到相應的函數執行三、適當的值(指系統調用號) 1、所有的適當的值,都可以在include/asm/unistd.h中找到