Time of Update: 2018-12-06
下面轉自:http://www.chinaunix.net/jh/4/615686.htmlLinux的記憶體管理,實際上跟windows的記憶體管理有很相像的地方,都是用虛擬記憶體這個的概念,說到這裡不得不罵MS,為什麼在很多時候還有很大的實體記憶體的時候,卻還是用到了pagefile. 所以才經常要跟一幫人吵著說Pagefile的大小,以及如何分配這個問題,在Linux大家就不用再吵什麼swap大小的問題,我個人認為,swap設個512M已經足夠了,如果你問說512M的SWAP不夠用怎麼辦?
Time of Update: 2018-12-06
一,用vmstat分析系統I/O情況[root@localhost ~]# vmstat -n 3 (每個3秒重新整理一次)procs-----------memory--------------------swap--- ---io---- --system---- ------cpu--------r b swpd free buff cache si so bi bo in cs us
Time of Update: 2018-12-06
NAME pidstat - Report statistics for Linux tasks. SYNOPSIS pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] | SELF | ALL } ] [ -r ] [ -t ] [ -T { TASK | CHILD | ALL } ] [ -u ] [ -V ] [ -w ] [ interval [ count ] ]DESCRIPTION The
Time of Update: 2018-12-06
測試機器的硬體資訊: 查看CPU資訊(型號) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8個邏輯CPU, 也知道了CPU型號) # cat /proc/cpuinfo | grep physical | uniq -c 4 physical id : 0 4 physical id : 1
Time of Update: 2018-12-06
我們在搞效能測試的時候,對後台伺服器的CPU利用率監控是一個常用的手段。伺服器的CPU利用率高,則表明伺服器很繁忙。如果前台回應時間越來越大,而後台CPU利用率始終上不去,說明在某個地方有瓶頸了,系統需要調優。這個是即使不懂技術的人都容易理解的事情。上面理解對嗎?我個人覺得不十分準確。這個要看後台你測試的進程是什麼類型的。如果是計算密集型的進程,當前端壓力越來越大的時候,很容易把CPU利用率打上去。但是如果是I/O網路密集型的進程,即使用戶端的請求越來越多,但是伺服器CPU不一定能上去,這個是你
Time of Update: 2018-12-06
"proc檔案系統是一個偽檔案系統,它只存在記憶體當中,而不佔用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。使用者和應用程式可以通過proc得到系統的資訊,並可以改變核心的某些參數。" 這裡將介紹如何從/proc檔案系統中擷取與防火牆相關的一些績效參數,以及如何通過/proc檔案系統修改核心的相關配置。 1、從/proc檔案系統擷取相關的績效參數 cpu使用率: /proc/stat 記憶體使用量情況: /proc/meminfo
Time of Update: 2018-12-06
衡量CPU效能的指標:1,使用者使用CPU的情況;CPU運行常規使用者進程CPU運行niced processCPU運行即時進程2,系統使用CPU情況;用於I/O管理:中斷和驅動用於記憶體管理:頁面交換使用者進程管理:進程開始和環境切換3,WIO:用於進程等待磁碟I/O而使CPU處於空閑狀態的比率。4,CPU的空閑率,除了上面的WIO以外的空閑時間5,CPU用於上下文交換的比率6,nice7,real-time8,運行進程隊列的長度9,平均負載Linux中常用的監控CPU整體效能的工具有:
Time of Update: 2018-12-06
at是linux下部署一次性計劃任務的首選,使用選項:Usage: at [-V] [-q x] [-f file] [-m] time at [-V] [-q x] [-f file] [-m] -t [[CC]YY]MMDDhhmm at -c job [job...] (atq | at -l) [-V] [-q x] (atrm | at -d | at -r) [-V] [-q x] job ... batch [-V] [-
Time of Update: 2018-12-06
在工作中,我需要把遠程伺服器上的檔案,拷貝到本地,可是scp的時候必須輸入密碼,用here文檔又不能實現,終於找到一個好東東,expect ,可以實現自動登入,我們可以藉助expect在ssh,ftp,scp等地方實現自動登入,加入到指令碼中,可以自動完成一些事情,先把我的測試通過的指令碼貼出來:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#!/
Time of Update: 2018-12-06
在這裡不想用一些抽象的概念去說明問題,只是用通俗的語言盡量準確的表達我的想法。最佳化,為什麼要最佳化?你說一個系統需要最佳化,那你衡量的標準是什嗎?無非兩個方面,(1)回應時間,具體說就是使用者發出請求到收到響應的時間間隔。如果目前你的使用者沒有感覺回應時間長,那就不要給你自己找事了。(2)輸送量,就是單位時間內完成的使用者或系統的請求數量。但有時候這兩點是矛盾的,你得做出平衡。讓這兩點達到一個合理的範圍。
Time of Update: 2018-12-06
本人比較熟悉Windows下的系統級和NT核心程式的開發,這裡結合Windows中進程線程的概念與Linux中的進程線程作一個比較。進程 在Linux和Windows中,對於進程這個概念基本一致,即程式啟動並執行一個執行個體,代表了一組資源。 在Linux中,還有一個“輕量級進程”(LWP)的概念,引入這個概念是為了對多線程程式提供更好的支援(下文會討論)。 使用者線程 對於使用者線程(簡稱線程。注,這裡僅僅指的是多線程應用程式中的線程,不是核心線程),Linux和Windows表現的
Time of Update: 2018-12-06
Linux 2.6對核心驅動模組的建立與以前版本不同,可以閱讀Document/kbuild下的檔案來瞭解細節。本文對Linux 2.6驅動模組的編譯和載入的過程進行一個簡單的描述(假設核心源碼所在目錄:/usr/src/linux-2.6.20/),該方法並不將自己寫的驅動模組加入到核心源碼樹中。產生過程1、在/usr/src/linux-2.6.20/drivers 這個目錄下選擇或建立一個目錄,如char,表示字元裝置。2、在/usr/src/linux-2.6.20/drivers/
Time of Update: 2018-12-06
進程:一個其中運行著一個或多個線程的地址空間和這些線程所需要的系統資源。進程有自己的棧空間,用於儲存函數中的局部變數和控制函數的調用與返回。進程還有自己的環境空間,包含專門位這個進程建立的環境變數。進程必須維護自己的程式計數器,這個計數器用來記錄它執行到的位置,即在執行線程中的位置。在使用線程時,進程可以有不止一個執行線程。
Time of Update: 2018-12-06
最近一直在折騰Linux,習慣了Windows的傻瓜化,突然進入黑底白字的Linux世界還真不太習慣。由於現在一般需要在Linux上跑的程式都是運行在伺服器上的,已耗用時間比較長,人又懶的一直看著程式跑啊跑,於是就需要點小技巧來自動輸出一下程式已耗用時間。當然,我們可以直接在C或者Python之類的程式碼裡面直接寫上輸出時間的代碼,也可以在shell裡用top命令看這個程式運行了多久。這裡我只是想分享一個更簡便好看的辦法,就是用time命令。例如有個程式叫myapp,那麼在shell裡輸入tim
Time of Update: 2018-12-06
su——super usersu 或者 su root:的話只是將當前身份轉為root,使用者shell並沒有改變.所以有些系統命令不能使用. su -或者su -l或者su -l root,可以完全的將當前環境轉為root環境.如同root直接登陸. 其次,service的路徑為/sbin/service 如果shell沒有改變,那麼你的PATH中預設沒有/sbin,所以不行,而如果用su -命令環境改為root,PATH中就包含/sbin功能說明:變更使用者身份。 語 法:su
Time of Update: 2018-12-06
Linux 的變數可分為兩類:環境變數和本地變數環境變數,或者稱為全域變數,存在與所有的shell 中,在你登陸系統的時候就已經有了相應的系統定義的環境變數了。Linux 的環境變數具有繼承性,即子shell 會繼承父shell 的環境變數。本地變數,當前shell 中的變數,很顯然本地變數中肯定包含環境變數。Linux 的本地變數的非環境變數不具備繼承性。Linux 中環境變數的檔案 當你進入系統的時候,linux
Time of Update: 2018-12-06
Crontab是一個很方便的在unix/linux系統上定時(迴圈)執行某個任務的程式 使用cron服務,用 service crond status 查看 cron服務狀態,如果沒有啟動則 service crond start啟動它, cron服務是一個定時執行的服務,可以通過crontab 命令添加或者編輯需要定時執行的任務: crontab -u //設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此參數 crontab -l
Time of Update: 2018-12-06
問題:redhat每次輸入錯誤什麼的,電腦就滴滴的亂叫。這個聲音不是來自系統外置的音訊輸出裝置,而是來自機器內部的(應該是由BIOS控制的發聲裝置吧)。 執行下列代碼,不需要全執行,任意一行就可以了。setterm -bleng 0 setterm -blength 0 xset b off把上面的語句定到~/.bashrc就行===========下面另一種方法臨時的方案sudo rmmod
Time of Update: 2018-12-06
最近在看一些同步對象類比的東東,特別對在Windows下如何類比條件變數折騰了很久。1
Time of Update: 2018-12-06
Windows,Linux的select函數功能差異感謝主,Windows當年也實現了select函數,這讓我們的跨平台大業至少順暢了一節。但由於Windows滲入骨髓的叛逆心理,他總要和UNIX的實現保持一些差別,讓你無可奈何。首先是Windows的select函數的參數介面設計和Linux下有較大差別,這個在我的《設計極其糟糕的select函數》就討論過,相對而言,在參數設計上,Windows的設計明顯好於Linux。這次我們聊聊他們的功能差異。1