系統效能分析工具上面的章節介紹了影響linux效能的幾個方面以及如何解決這些方面的問題,但是如何才能從系統上發現是某個方面或某幾個方面出現問題了呢,這就需要使用linux系統提供的幾個常用效能分析工具,下面就具體講述這幾個常用效能分析工具的使用。1.vmstat命令vmstat是Virtual Meomory
Linux作業系統是一個開源產品,也是一個開源軟體的實踐和應用平台,在這個平台下有無數的開源軟體支撐,我們常見的apache、tomcat、mysql、php等等,開源軟體的最大理念是自由、開放,那麼linux作為一個開源平台,最終要實現的是通過這些開源軟體的支援,以最低廉的成本,達到應用最優的效能。因此,談到效能問題,主要實現的是linux作業系統和應用程式的最佳結合。系統的效能是指作業系統完成任務的有效性、穩定性和響應速度。Linux系統管理員可能經常會遇到系統不穩定、響應速度慢等問題,例如
一
這篇文章是回複前幾天在論壇一個朋友提出的問題,今天有空,整理了一下,發布出來,供大家參考!當Linux下試圖傳遞太多參數給一個系統命令(ls *; cp *; rm *; cat *; etc…)時,就會出現”Argument list too long”錯誤。本文將提供4種解決方案,按複雜程度由低到高排列。方法#1: 手動把命令列參數分成較小的部分例1mv [a-l]* ../directory2mv [m-z]*
作為一名linux系統管理員,最主要的工作是最佳化系統配置,使應用在系統上以最優的狀態運行,但是由於硬體問題、軟體問題、網路環境等的複雜性 和多變性,導致對系統的最佳化變得異常複雜,如何定位效能問題出在哪個方面,是效能最佳化的一大難題, 本章從系統入手,重點講述由於系統軟、硬體設定不當可能造成的效能問題,並且給出了檢測系統故障和最佳化效能的一般方法和流程。1 cpu效能評估Cpu是影響Linux效能的主要因素之一,下面先介紹幾個查看CPU效能的命令。1.1
一、crond簡介crond是linux下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成作業系統後,預設會安裝此服務工具,並且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。Linux下的任務調度分為兩類,系統任務調度和使用者任務調度。系統任務調度:系統周期性所要執行的工作,比如寫快取資料到硬碟、日誌清理等。在/etc目錄下有一個crontab檔案,這個就是系統任務調度的設定
有名管道(FIFO)首先將上一節的有關有名管道的定義再貼出來有名管道是對無名管道的一 種改進,它具有以下特點:① 它可以使互不相關的兩個進程間實現彼此通訊;② 該管道可以通過路徑名來指出,並且在檔案系統中是可見的。在建立了管道之後,兩個進程就可以把它 當做普通檔案一樣進行讀寫操作,使用非常方便;③ FIFO嚴格地遵循先進先出規則,對管道及 FIFO的讀總是從開始處返回資料,對它們的寫則是把資料添加到末尾,它們不支援如 lseek()等檔案定位操作
管道簡介管道是Linux中處理序間通訊的一種方式,它把一個程式的輸出直接連接到另一個程式的輸 入(其實我更願意將管道比喻為農村澆地的管子)。Linux的管道主要包括兩種:無名管道和有名管道。這一節 主要講無名管道,首先介紹一下這兩個管道。(特點很重要啊!)1、無名管道無名管道是 Linux中管道通訊的一種原始方法,如圖一(左)所示,它具有以下特點:① 它只能用於具有親 緣關係的進程之間的通訊(也就是父子進程或者兄弟進程之間);② 它是一個半雙工的通訊模
Linux下多任務介紹首先,先簡單的介紹一下什麼叫多任務系統?任務、進程、線程分別是什嗎? 它們之間的區別是什嗎?,從而可以宏觀的瞭解一下這三者,然後再針對每一個仔細的講解。什麼叫 多任務系統?多任務系統指可以同一時間內運行多個應用程式,每個應用程式被稱作一個任務。任務 定義:任務是一個邏輯概念,指由一個軟體完成的任務,或者是一系列共同達到某一目的的操作。進程 定義:進程是指一個具有獨立功能的程式在某個資料集上的一次動態執行過程,它是系統進行資源分派和調度
在Linux系統中,對於多核的ARM晶片而言,Bootrom代碼中,CPU0會率先起來,引導Bootloader和Linux核心執行,而其他的核則在上電時Bootrom一般將自身置於WFI或者WFE狀態,並等待CPU0給其發CPU核間中斷(IPI)或事件(一般透過SEV指令)喚醒之。一個典型的啟動過程如下圖:被CPU0喚醒的CPUn可以在運行過程中進行熱插拔。譬如運行如下命令即可卸載CPU1並且將CPU1上的任務全部遷移到其他CPU:# echo 0 >
3.中斷控制器驅動在Linux核心中,各個裝置驅動可以簡單地調用request_irq()、enable_irq()、disable_irq()、local_irq_disable()、local_irq_enable()等通用API完成中斷申請、使能、禁止等功能。在將Linux移植到新的SoC時,晶片供應商需要提供該部分API的底層支援。local_irq_disable()、local_irq_enable()的實現與具體中斷控制器無關,對於ARMv6以上的體系架構而言,是直接調用CPSID
1.SoC Linux底層驅動的組成和現狀為了讓Linux在一個全新的ARM SoC上運行,需要提供大量的底層支撐,如定時器節拍、中斷控制器、SMP啟動、CPU hotplug以及底層的GPIO、clock、pinctrl和DMA硬體的封裝等。定時器節拍、中斷控制器、SMP啟動和CPU
Redhat有兩大Linux產品系列,其一是免費的Fedora Core系列主要用於案頭版本,提供了較多新特性的支援。另外一個產品系列是收費的Enterprise系列,這個系列分成:AS/ES/WS等分支,他們都是redhat企業級Linux,簡稱為 RHELAS是超級伺服器版(Advanced Server),他在標準Linux核心的基礎上,做了效能上的增強,並提高了可靠性,整合了眾多常見伺服器的驅動程式。可輕鬆識別IBM/DELL/HP等常見機架式伺服器的磁碟陣列卡等裝置。典型的AS應用為:
我的兩台伺服器裡dmesg裡有以下錯誤,請教是什麼原因?os :rhel4.4伺服器型號: hp dl380 g4 ,g5shpchp: acpi_shpchprm:\_SB_.PCI0 evaluate _BBN fail=0x5shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x5shpchp: acpi_shpchprm:\_SB_.PCI0 evaluate _BBN fail=0x5shpchp:
關於ulimitulimit -a 用來顯示當前的各種使用者進程限制。Linux對於每個使用者,系統限制其最大進程數。為提高效能,可以根據裝置資源情況,設定各linux 使用者的最大進程數,下面我把某linux使用者的最大進程數設為10000個:ulimit -u 10000對於需要做許多 socket 串連並使它們處於開啟狀態的 Java 應用程式而言,最好通過使用 ulimit -n xx 修改每個進程可開啟的檔案數,預設值是 1024。ulimit -n 4096
軟體的升級是對軟體功能的改進和安全性的升級,與windows系統類別似,linux作業系統下也需要對軟體進行週期性更新升級,保持軟體始終處於最新狀態。Linux作業系統的升級可以分為自動升級和手動升級兩種方式:自動升級一般是在有授權的linux發行版或者免費linux發行版下進行的,只要輸入升級命令,系統會自動完成升級工作,無需人工幹預。yum是yellowdog updater modified 的縮寫,yellow dog(黃狗)也是一個 Linux 的
一、) 安裝Nginx1.) 安裝Nginx發音為[engine x],是由俄羅斯人Igor Sysoev建立的項目,基於BSD許可。據說他當初是F5的成員之一,英文首頁:http://nginx.net。俄羅斯的一些大網站已經使用它超過兩年多了,一直表現不凡。安裝nginx之前需要安裝pcre包和zlib以支援重寫,正則以及網頁壓縮等等.安裝pcre下載地址: http://www.pcre.org/下載適合自己的版本,然後進行安裝:tar zxvf pcre-7.7.tar.gzcd
所謂的檔案許可權,是指對檔案的存取權限,包括對檔案的讀、寫、刪除、執行等,在linux下,每個使用者都具有不同的許可權,普通使用者只能在自己的主目錄下進行寫操作,而在主目錄之外,普通使用者只能進行尋找、讀取操作,如何處理好檔案許可權和使用者之間的關係,是本節講述的重點。一 查看檔案的許可權屬性使用ls命令就可以查看檔案的以及目錄的許可權資訊,不帶任何參數的ls命令只顯示檔案名稱,通過“ls
一.添加、切換、刪除使用者組命令groupadd/newgrp/groupdel1.groupadd命令用來建立一個使用者組。文法格式為:groupadd [-g -o] gid group各個選項具體含義如下:-g:指定建立使用者組的GID號,該GID號必須唯一,不能和其它使用者組的GID號重複。-o:一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同。例如:建立一個linuxfans的使用者組和一個fanslinux使用者組,GID分別為1020和1
一.使用者與組的概念1.理解linux多使用者,多任務的特性Linux是一個真實的、完整的多使用者多任務作業系統,多使用者多任務就是可以在系統上建立多個使用者,而多個使用者可以在同一時間內登入同一個系統執行各自不同的任務,而互不影響,例如某台linux伺服器上有4個使用者,分別是root、www、ftp和mysql,在同一時間內,root使用者可能在查看系統日誌,管理維護系統,www使用者可能在修改自己的網頁程式,ftp使用者可能在上傳軟體到伺服器,mysql使用者可能在執行自己的SQL查詢,每