提高linux腳本cpu和內(nèi)存使用率
1、調(diào)用 setrlimit 會使 OPEN_MAX 的值發(fā)生改變。
2、三,使用ulimit限制cpu占用時(shí)間 注意,ulimit 限制的是當(dāng)前shell進(jìn)程以及其派生的子進(jìn)程。因此可以在腳本中調(diào)用ulimit來限制cpu使用時(shí)間。例如,限制tar的cpu占用時(shí)間,單位秒。
3、因?yàn)镃PU使用率不是程序而是操作系統(tǒng)內(nèi)核來控制的,操作系統(tǒng)會根據(jù)你程序的需求分配CPU的使用率,需要的多,就分配的多,需要的少,就分配的少,因此,CPU使用率無法使用軟件來提高。
4、命名行下輸入python 然后寫個(gè)死循環(huán):while True:print i want to exaust cpu試試唄,水平有限。應(yīng)該會提高,但不知道能提到多少。
5、下面的 pidstat 命令,就間隔 1 秒展示了進(jìn)程的 5 組 CPU 使用率,包括:perf 是 Linux 31 以后內(nèi)置的性能分析工具。
linux內(nèi)存占75%
正常,內(nèi)存就是用來占用的,如果是%95以上,就不正常了,可能有程序溢出了。
當(dāng)Linux系統(tǒng)的system內(nèi)存占用過高時(shí),可能是因?yàn)橄到y(tǒng)中的某些進(jìn)程或內(nèi)核模塊占用了過多的內(nèi)存??梢允褂靡韵虏襟E來診斷和解決問題:使用命令top或htop來查看哪些進(jìn)程占用了大量內(nèi)存。在這些進(jìn)程中查找可疑進(jìn)程。
正常,linux內(nèi)核有自動(dòng)緩存機(jī)制。硬盤文件的讀寫,等很多操作在內(nèi)存中有緩存,定時(shí)同步到硬盤里。通常 使用率都在 90%徘徊。但緩存在內(nèi)存需求增加時(shí)會被釋放以提供內(nèi)存。
ramdisk設(shè)備用于把內(nèi)存模擬成硬盤,可直接寫入文件。mkfs.ext4 /dev/ram0 然后mount掛載,寫入文件 如果你木有這個(gè)ram0設(shè)備,你需要自己編譯內(nèi)核。
使用兩個(gè)Python腳本文件,分別是test.py和mem_rate.py。其功能分別是查看當(dāng)前內(nèi)存占用和動(dòng)態(tài)設(shè)定內(nèi)存占用百分比。即可將Linux內(nèi)存填充80%。
linux系統(tǒng)性能怎么優(yōu)化
如果你的硬盤是一個(gè)IDE驅(qū)動(dòng)器,可以通過升級到SCSI驅(qū)動(dòng)器獲得更好的整體性能。因?yàn)镮DE控制器必須訪問CPU,CPU和磁盤密集型操作可能變得非常緩慢。SCSI控制器不用通過CPU處理讀寫。
其實(shí)個(gè)人使用的linux最直接的一個(gè)優(yōu)化就是升級內(nèi)核,自己編譯的內(nèi)核是根據(jù)自己的系統(tǒng)編譯而來,將得到最大的性能和最小的內(nèi)核。但是,服務(wù)器就不太一樣了,當(dāng)然我們也希望每一臺服務(wù)器都是自己手工編譯的內(nèi)核,高效而精巧。
作為高性能WEB服務(wù)器,只調(diào)整Nginx本身的參數(shù)是不行的,因?yàn)镹ginx服務(wù)依賴于高性能的操作系統(tǒng)。 以下為常見的幾個(gè)Linux內(nèi)核參數(shù)優(yōu)化方法。
中斷上下文切換 快速響應(yīng)硬件的事件,中斷處理會打斷進(jìn)程的正常調(diào)度和執(zhí)行。同一CPU內(nèi),硬件中斷優(yōu)先級高于進(jìn)程。切換過程類似于系統(tǒng)調(diào)用的時(shí)候,不涉及到用戶運(yùn)行態(tài)資源。但大量的中斷上下文切換同樣可能引發(fā)性能問題。
正確理解linux運(yùn)行內(nèi)存過高的問題以及free命令
1、使用命令free -m來查看內(nèi)存使用情況,確定哪些類型的內(nèi)存占用過高。使用命令vmstat來查看虛擬內(nèi)存使用情況,確定是否存在缺頁或其他虛擬內(nèi)存問題。使用命令dmesg來查看內(nèi)核消息緩沖區(qū),確定是否存在內(nèi)核崩潰或其他內(nèi)核問題。
2、觀察 kswapd0 進(jìn)程狀態(tài),若持續(xù)處于非睡眠狀態(tài),且運(yùn)行時(shí)間較長并持續(xù)占用較高 CPU 資源,執(zhí)行vmstat,free,ps等指令,查詢系統(tǒng)內(nèi)進(jìn)程的內(nèi)存占用情況,重啟系統(tǒng)或終止不需要且安全的進(jìn)程。
3、free命令可以顯示Linux系統(tǒng)中空閑的、已用的物理內(nèi)存及swap內(nèi)存,及被內(nèi)核使用的buffer。在Linux系統(tǒng)監(jiān)控的工具中,free命令是最經(jīng)常使用的命令之一。
4、free:可用有多少。第四行是交換分區(qū)SWAP的,也就是我們通常所說的虛擬內(nèi)存。我們按照系統(tǒng)應(yīng)用程序來說:系統(tǒng)可用內(nèi)存= 系統(tǒng)free+buffers+cached。下一條命令free -g,按照g的計(jì)數(shù)方式來顯示內(nèi)存信息。
5、watch命令會每兩秒執(zhí)行 free一次,執(zhí)行前會清除屏幕,在同樣位置顯示數(shù)據(jù)。因?yàn)?watch命令不會卷動(dòng)屏幕,所以適合出長時(shí)間的監(jiān)測內(nèi)存使用率。
6、free命令是Linux系統(tǒng)中最常用的查看內(nèi)存使用情況的命令之一。它可以顯示系統(tǒng)中的總內(nèi)存、已使用內(nèi)存、可用內(nèi)存、緩存和交換空間等信息。