Linux 的 Out-of-Memory (OOM) Killer

作者: Fenng | 可以轉載, 轉載時務必以超連結形式標明文章原始出處和作者資訊及著作權聲明網址: http://www.dbanotes.net/database/linux_outofmemory_oom_killer.html同事在 Linux 伺服器上遇到點小問題,我也上去折騰半天。這還是第一次注意到 Linux 這個多年來就存在的特性:OOM Killer 。說白了 OOM Killer 就是一層保護機制,用於避免 Linux

linux使用者標識UID與有效使用者標識EUID

linux系統中每個進程都有2個ID,分別為使用者ID和有效使用者ID,UID一般表示進程的建立者(屬於哪個使用者建立),而EUID表示進程對於檔案和資源的存取權限(具備等同於哪個使用者的許可權)。可以通過函數getuid()和geteuid()或者進程的兩個ID值。 當一個使用者登陸系統時,系統會將UID和EUID都賦值為/etc/passwd檔案中的UID,一般情況下2個ID是相同的,但是某些情況下會出現2個ID不同的情況。 以下通過一個典型問題和代碼執行個體來說明UID和EUID的問題。 

Linux下用openssl庫做md5加密

這篇檔案借鑒網上的檔案,然後自己做了一些修改,主要是對測試的過程中發現一些不一致和不詳盡導致一些麻煩的解決openssl安裝Centos  yum install openssl openssl-devel#include <stdio.h>#include <string.h>#include <stdlib.h>#include <openssl/md5.h>int main(int argc, char** argv) {

在Linux下使用ipmsg(飛鴿傳書)

在Linux下使用ipmsg(飛鴿傳書)ipmsg是個不錯的區域網路通訊軟體,非常小巧,無需伺服器端,使用非常方便。在Linux下使用需要自行編譯。在官方網站下載源碼:http://www.ipmsg.org/index.html.en(http://www.ipmsg.org/archive/g2ipmsg-0.9.5.tar.gz)解壓後需要修改源碼以支援中文:檔案:src/codeset.c原文:#define IPMSG_PROTO_CODE     "CP932"改成:#define

Linux 2.6 核心的嵌入式系統應用

Linux 2.6 核心的嵌入式系統應用 摘 要:在分析Linux2.6核心新特性的基礎上,在S3C2410開發板上移植了2.6核心和新的檔案系統,並成功地對H.264編解碼多媒體系統提供了支援。 關鍵詞:Linux 核心 嵌入式系統 S3C2410 隨著多媒體技術與通訊技術相結合的資訊技術的快速發展和互連網的廣泛應用,PC 時代也過渡到了後PC時代。在數字資訊技術和網路技術高速發展的後PC時代,嵌入式技術越來越與人們的生活緊密結合。

linux系統下硬碟分區的總結

       硬碟裡面分為兩個地區:一個是描述硬碟自身的資訊區,稱為主引導區(Master Boot Record, MBR), 一個是存放實際檔案資訊的地區。 MBR是整個硬碟最重要的地方,裡面記錄了兩個重要的東西,分別是:啟動管理程式和硬碟分區表。所以我們所說的硬碟分區,其實就是修改MBR中的分區表。       分區表的內容: 分區表定義了“第n個磁碟區塊是由硬碟第x柱面到第y個柱面”。所以,每次當系統去讀取第n快磁碟區塊時,就只會讀取第x到y個柱面之間的資訊。      

solaris下vi的使用 轉的。。和linux下的不太一樣

一、插入文本 ┌──┬────────────┐ │命令│描述          │ ├──┼────────────┤ │i  │在當前字元前插入文本  │ ├──┼────────────┤ │I  │在行首插入文本      │ ├──┼────────────┤ │a  │在當前字元後添加文本  │ ├──┼────────────┤ │A  │在行末添加文本     │ ├──┼────────────┤ │o  │在當前行後面插入一空行 │ ├──┼────────────┤ │O

linux網路編程之socket(八):五種I/O模型和select函數簡介

一、五種I/O模型1、阻塞I/O我們在前面所說的I/O模型都是阻塞I/O,即調用recv系統調用,如果沒有資料則阻塞等待,當資料到來則將資料從核心空間(套介面緩衝區)拷貝到使用者空間(recv函數提供的buf),然後recv返回,進行資料處理。2、非阻塞I/O我們可以使用 fcntl(fd, F_SETFL, flag | O_NONBLOCK);

linux網路編程之socket(十):shutdown 與 close 函數 的區別

假設server和client 已經建立了串連,server調用了close, 發送FIN 段給client(其實不一定會發送FIN段,後面再說),此時server不能再通過socket發送和接收資料,此時client調用read,如果接收到FIN 段會返回0,但client此時還是可以write

Linux 多線程編程(Pthread 庫)學習筆記 三

 線程的資料處理 之 互斥鎖互斥鎖互斥鎖用來保證一段時間內只有一個線程在執行一段代碼pthread_mutex_lock聲明開始用互斥鎖上鎖,此後的代碼直至調用pthread_mutex_unlock為止,均被上鎖,即同一時間只能被一個線程調用執行。當一個線程執行到pthread_mutex_lock處時,如果該鎖此時被另一個線程使用,那此線程被阻塞,即程式將等待到另一個線程釋放此互斥鎖 a線程先鎖定互斥鎖1,b線程先鎖定互斥鎖2,這時就出現了死結。此時我們可以使用函數

《鳥哥的linux私房菜》基本命令筆記

1.以前沒注意過的,略寫的命令option後面只能空格後加參數,而標準option即可以空格也可以等號後跟著參數,如date命令,date -r filename ;; date --reference filename ;; date --reference=filename 都是正確的。2.對於目錄來說,即使有r,沒有X,也不能進入目錄。對於檔案來說,x表示這個檔案可以被使用者執行,但能不能執行成功,當然得看本身裡面的內容了。3.檔案種類:普通檔案 -純文字ASCII

Linux下動態庫(.so)和靜態庫(.a)

linux下有兩種庫:動態庫和靜態庫(共用庫)二者的不同點在於代碼被載入的時刻不同。靜態庫的代碼在編譯過程中已經被載入可執行程式,因此體積比較大。動態庫(共用庫)的代碼在可執行程式運行時才載入記憶體,在編譯過程中僅簡單的引用,因此代碼體積比較小。不同的應用程式如果調用相同的庫,那麼在記憶體中只需要有一份該動態庫(共用庫)的執行個體。靜態庫和動態庫的最大區別,靜態情況下,把庫直接載入到程式中,而動態庫連結的時候,它只是保留介面,將動態庫與程式碼獨立,這樣就可以提高代碼的可複用度,和降低程式的耦合度

Linux fork與vfork的區別

vfork用於建立一個新進程,而該新進程的目的是exec一個新進程,vfork和fork一樣都建立一個子進程,但是它並不將父進程的地址空間完全複製到子進程中,不會複製頁表。因為子進程會立即調用exec,於是也就不會存放該地址空間。不過在子進程中調用exec或exit之前,他在父進程的空間中運行。 為什麼會有vfork,因為以前的fork當它建立一個子進程時,將會建立一個新的地址空間,並且拷貝父進程的資源,而往往在子進程中會執行exec調用,這樣,前面的拷貝工作就是白費力氣了,這種情況下,聰明的人

《linux裝置驅動程式III》學習—第三章

 1,這本書是以scull 為例子來介紹字元裝置驅動程式的編寫的。  scull是一個操作記憶體地區的字元裝置驅動程式。2,註冊裝置號的擷取、登出及註冊  @擷取dev_t 類型裝置號   裝置在核心中以dev_t 類型儲存主次裝置號的。用MKDEV(major,minor) 來獲得dev_t 類型的裝置號,相反,用MAJOR(dev_t  dev) 轉換主裝置號,MINOR(dev_t dev) 轉換出次裝置號。  @核心分配裝置號  int

《linux裝置驅動程式III》學習—第五章

        第四章中講的是核心的調試技術。。。以後用到在學習吧     第五章   並發和競態1,作業系統編程的核心問題之一是並發管理2,什麼是競態:linux中存在大量的並發源,當這些並發源訪問可共用的資料時就會發生競態3,競態的危害:競態會導致共用的資料非控制訪問,導致系統崩潰、資料破壞及安全問題4,如何避免競態:常用的技術是 鎖定和互斥5,記:linux中訊號量的作用絕大多數是為互斥 自旋鎖6,鎖定功能的實現用的多的是自旋鎖,自旋鎖要更高效7,自旋鎖由spinlock_t 類型定義 

linux下串口工具minicom使用

系統內容:ubuntu destop 11.10我當時的需要主要是兩個,能夠看到正常串口輸出,並且把串口內容即時輸出到檔案中 那接下來工作主要是兩個:1、安裝 2、配置相信各位也都是至少會操作一些全令行的,我們在這裡用apt-get安裝(不會的同學請google一下) 1、安裝  sudo apt-get install minicom2、配置(1)首先在命令列下執行sudo minicom啟動程式(2)進入主介面後按 Ctrl+A

linux 定時任務 crontab 詳細解釋

linux 定時任務 crontab 詳細解釋 cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:  引用:  /sbin/service crond start //啟動服務  /sbin/service crond stop //關閉服務  /sbin/service crond restart //重啟服務  /sbin/service crond reload //重新載入配置   //=================================

Linux的系統呼叫

第五章5.5 Linux的系統呼叫5.5.1系統呼叫介面系統呼叫(通常稱為syscalls)是Linux內核與上層應用程式進行互動通訊的唯一介面,參見圖5-4所示。從對中斷機制的說明可知,用戶程式透過 直接或間接(透過程式庫函數)呼叫中斷int 0x80,並在eax寄存器中指定系統呼叫功能號,即可使用內核資源,包括系統硬體資源。 不過通常應用程式都是使用具有標批介面定義的 C

Linux下的使用者、進程的調配與查看

本節中要介紹的不只是進程查看方面的內容,由於Linux是個多使用者系統,有時候也要瞭解其他使用者現在在幹什麼,所以在本節中還將接觸多使用者方面的內容。同時Linux是一個多進程系統,經常需要對這些進程進行一些調配和管理;而要進行管理,首先就要知道現在的進程情況:究竟有哪些進程?進程情況如何?等等。所以需要進程查看方面的工作。who命令該命令主要用於查看當前線上上的使用者情況。這個命令非常有用。如果使用者想和其他使用者建立即時通訊,比如使用talk命令,那麼首先要確定的就是該使用者確實線上上,不然

【Linux入門學習之】ubuntu10.04 ruijie配置上網(用mentohust)

今天終於把Linux下ubuntu用ruijie鋭捷連網給搞定了,而且十分穩定,不掉線!爽!配置起來也很快。首先說一下,我的電腦是在Windows7上用wubi安裝的ubuntu雙系統,版本是10.04.32位。下面我就介紹一下我的配置過程:1、配置好ubuntu10.04的網路資訊。點擊系統-喜好設定-網路連接,然後編輯eth0的具體資訊:選擇IPv4settings功能表項目,Method選擇manual,然後填好IP地址、子網路遮罩、網關和DNS。2、下載並安裝mentohust。:men

總頁數: 3662 1 .... 279 280 281 282 283 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.