① Linux 中異常是如何處理的
在程序的執行過程中,因為遇到某種障礙而使 CPU 無法最終訪問到相應的物理內存單元,即無法完成從虛擬地址到物理地址映射的時候,CPU 會產生一次缺頁異常,從而進行相應的缺頁異常處理。基於 CPU 的這一特性,Linux 採用了請求調頁(Demand Paging)和寫時復制(Copy On Write)的技術
1. 請求調頁是一種動態內存分配技術,它把頁框的分配推遲到不能再推遲為止。這種技術的動機是:進程開始運行的時候並不訪問地址空間中的全部內容。事實上,有一部分地址也許永遠也不會被進程所使用。程序的局部性原理也保證了在程序執行的每個階段,真正使用的進程頁只有一小部分,對於臨時用不到的頁,其所在的頁框可以由其它進程使用。因此,請求分頁技術增加了系統中的空閑頁框的平均數,使內存得到了很好的利用。從另外一個角度來看,在不改變內存大小的情況下,請求分頁能夠提高系統的吞吐量。當進程要訪問的頁不在內存中的時候,就通過缺頁異常處理將所需頁調入內存中。
2. 寫時復制主要應用於系統調用fork,父子進程以只讀方式共享頁框,當其中之一要修改頁框時,內核才通過缺頁異常處理程序分配一個新的頁框,並將頁框標記為可寫。這種處理方式能夠較大的提高系統的性能,這和Linux創建進程的操作過程有一定的關系。在一般情況下,子進程被創建以後會馬上通過系統調用execve將一個可執行程序的映象裝載進內存中,此時會重新分配子進程的頁框。那麼,如果fork的時候就對頁框進行復制的話,顯然是很不合適的。
在上述的兩種情況下出現缺頁異常,進程運行於用戶態,異常處理程序可以讓進程從出現異常的指令處恢復執行,使用戶感覺不到異常的發生。當然,也會有異常無法正常恢復的情況,這時,異常處理程序會進行一些善後的工作,並結束該進程。也就是說,運行在用戶態的進程如果出現缺頁異常,不會對操作系統核心的穩定性造成影響。 那麼對於運行在核心態的進程如果發生了無法正常恢復的缺頁異常,應該如何處理呢?是否會導致系統的崩潰呢?是否能夠解決好內核態缺頁異常對於操作系統核心的穩定性來說會產生很大的影響,如果一個誤操作就會造成系統的Oops,這對於用戶來說顯然是不能容忍的。本文正是針對這個問題,介紹了一種Linux內核中所採取的解決方法。
在讀者繼續往下閱讀之前,有一點需要先說明一下,本文示例中所選的代碼取自於Linux-2.4.0,編譯環境是gcc-2.96,objmp的版本是2.11.93.0.2,具體的版本信息可以通過以下的命令進行查詢:
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
$ objmp -v
GNU objmp 2.11.93.0.2 20020207
Copyright 2002 Free Software Foundation, Inc.
② liunx怎麼解決tcp連接timeout過長
不明白你說的老化時間,關於established的時間,摘錄個別人的心得吧 TCP協議有個超時重傳機制,想必大家都比較熟悉。TCP協議是一種傳輸可靠的協議,因此這個機制是必不可少的。那麼今天要探討的是在發送隊列還有數據的情況下,網路連接異常斷開後,協議棧是到底是怎樣來處理這些數據的,資源又是怎樣被回收的呢? 我這里先給出幾個測試的結果: 1、修改linux系統下的tcp_retries2為1,當socket發送隊列有一定數據時,突然切斷網線,造成異常斷鏈的場景,此時,大約過了1秒,用netstat觀察established的連接消失; 2、繼續把該參數修改為15,重復上面的實驗,發現大約過了15分鍾後,established的連接才斷開; 3、把參數再次修改為5,大約過了7秒,連接消失 /proc/sys/net/ipv4/tcp_retries2 思考:TCP的超時後,重傳的次數和重傳的時間間隔是影響連接斷開的主要參數。但是,從上面的實驗數據來看,似乎沒有什麼規律。查閱linux幫助文檔,發現這個重傳的時間間隔與RTO有關,而這個參數又是協議棧通過檢測網路狀況而實時改變的。
③ linux下怎麼判斷網卡異常網卡狀態
linux查看網路鏈接狀況命令 netstat 參數如下: -a 顯示所有socket,包括正在監聽的。 -c 每隔1秒就重新顯示一遍,直到用戶中斷它。 -i 顯示所有網路介面的信息,格式同「ifconfig -e」。 -n 以網路IP地址代替名稱,顯示出網路連接情形。
④ Linux伺服器中毒了,導致區域網癱瘓
你好,本文以Centos系統為例講述一下如何檢查Linux系統是否中毒,中毒有哪些特徵以及中毒會帶來什麼樣的後果,如何保障linux系統的安全。http://..com/link?url=ObJg8BfsHJoH__nvSPTuHsr_
中毒現象
1.網路出現擁塞,訪問延遲增加。2.系統定時任務表中出現異常的定時任務。3.出現異常進程。4.$JBOSS_HOME/bin或/root目錄下出現大量的異常文件。現象分析這是最近網上流行的一種蠕蟲病毒,它利用Jboss中間件程序的jxm-console與web-console默認帳戶漏洞進行攻擊,感染linux伺服器,成為僵屍代理。1.出現網路擁塞的原因是該蠕蟲病毒利用名為pnscan工具不斷執行埠掃描。發出大量的請求包,佔用網路帶寬。2.在系統定時任務表中可查看到名為如下的異常定時任務(有時候只有其中2個)。crontab –l
.sysync.pl與.sysdbs都是隱藏文件,可以通過ls –la列表查看到。
3.查看進程,可以檢查到以下異常進程
有些伺服器上還可以看到一些javas的異常進程,請確認這些javas進程,是否應用程序調用的java。4.在$JBOSS_HOME/bin或/root目錄下出現大量如下異常文件
其中kisses.tar.gz就是病毒源碼安裝包,安裝後生成以上文件。解決方法步一:查殺病毒Killall -9 javasKillall -9 pnsKillall -9 perlcd /root或 cd $JBOSS_HOME/binrm –rf bm*rm –rf *.plrm –rf treat.shrm –rf install-shrm –rf version*rm –rf kisses*rm –rf pns*rm –rf Makefilerm –rf ipsortrm –rf kisses*rm –rf .sysdbsrm –rf .sysync.plcrontab –e1 1 10 * * ~/.sysdbs1 1 24 * * perl ~/.sysync.pl1 1 24 * * perl ~/.sysync.pl1 1 10 * * ~/.sysdbs刪除掉這幾行service crond stop
騰訊電腦管家企業平台:http://..com/c/guanjia/
⑤ linux 發送流量異常
1. 使用iftop工具查出來是哪些個IP地址在請求主機的帶寬資源,找出耗帶寬的元兇
2. 找出耗帶寬的IP地址或者段,分析是out方向還是in方向,使用iptables規則來進行控制
具體的詳細操作方法如下;
一但出現帶寬被惡意請求,在帶寬被請滿的情況下基本上很難通過網路登入到伺服器上進行操作跟維護,這時我們需要通過阿里雲提供的「連接管理終端」服務來登入系統
一般建議在主機正常的時候直接在伺服器內部安裝好iftop工具,這樣出現惡意請求的時候直接可以使用該工具來進行排查,下面介紹下iftop的2中安裝方法
1.使用yum 安裝iftop工具
使用yum安裝的話比較簡單,只要直接執行 yum install iftop –y命令即可,如果沒問題的話系統就會自動執行安裝,但是有使用yum可能安裝不了,這時就需要使用編譯安裝了
2.編譯安裝iftop工具
(1)下載iftop工具的源碼包;
http://oss.aliyuncs.com/aliyunecs/iftop-0.17.tar.gz
(2)CentOS下安裝所需的依賴包
yum install flex byacc libpcap ncursesncurses-devel libpcap-devel
(3 解壓縮下載的iftop文件
tarzxvf iftop-0.17.tar.gz
(4 進入到解壓的的iftop目錄中
cdiftop-0.17
配置並制定安裝目錄為/usr/local/iftop目錄下
(5./configure –prefix=/usr/local/iftop
(6)編譯並安裝
make && make install
安裝完成以後直接使用/usr/local/iftop/sbin/iftop 啟動iftop程序查看流量使用情況,如果想使用iftop的方式直接開啟程序,需要將iftop的程序添加到環境變數中即可
結合使用iptables服務來限制惡意請求的流量;
iftop –i eth1 查看eth1這塊外網網卡的流量使用情況
通過上面這張信息很清楚的看到,121.199這台伺服器一直往192.230.123.101 這個地址發送流量,而且出去產生的流量相當大,幾乎把整個出網帶寬都給耗盡了
查到了惡意請求的原因跟目標主機以後,我們就可以使用iptables服務來對這種惡意行為進行限制了,因為從查看到的數據看主要的流量是從out方向出去的,那就直接在OUT方向設置策略
Iptables -A OUTPUT -d 192.230.123.101 –j REJECT
這里可能還會發現一個情況就是禁用了這個1個IP以後可能這個段的其它IP地址都有可能馬上就接上繼續請求,那就可以針對一個段來進行限制
iptables-A OUTPUT -d 192.230.0.0/16 -j REJECT
策略加上以後可以再使用iftop –i eth1 來查看流量的請求情況;
可以查看到流量已經恢復了正常,之前的惡意請求的地址都已經被防火牆給屏蔽了,效果比較好
另外iftop還有很多的參數可以實現比較多的功能,有時間的話可以研究研究,對排查網路流量攻擊以及掌控流量使用很有幫助的
⑥ linux遠程登錄異常
1、你的內網地址在變動導致連接斷開
2、ssh設置了連接超時自動斷開
3、伺服器上查看 iptables -L -n 看看是否有限制 ,/etc/host.deny 也有可能
4、其他原因
⑦ Linux 採集卡持續收流量的時候重啟伺服器異常
網路連接異常。在Linux採集持續收流量時,由於網路連接異常原因使得重啟伺服器異常,此現象可以通過更換網路來進行重試。
⑧ Linux網路重啟(service network restart)出現錯誤怎麼處理
awk有三個版本可能 awk gawk nawk,你的系統可能有不同的版本導致找不到命令。
⑨ linux網路文件系統狀態檢測 異常情況的發現
寫個腳本即可
#!/bin/bash
mount -a | grep 你的掛載位置
if [ $? -ne 0 ]
then echo "掛載斷開請排查"
remount xxxxxx
fi
這只是個思路。你可以在腳本中加郵件或簡訊報警
將腳本完成後加入執行許可權 並在crontab中加入該腳本。