-
Linux 多線程全面解析
在傳統(tǒng)的 Unix 模型中,當(dāng)一個(gè)進(jìn)程需要由另一個(gè)實(shí)體執(zhí)行某件事時(shí),該進(jìn)程派生(fork)一個(gè)子進(jìn)程,讓子進(jìn)程去進(jìn)行處理。Unix 下的大多數(shù)網(wǎng)絡(luò)服務(wù)器程序都是這么編寫的,即父進(jìn)程接受連接,派生子進(jìn)程,子進(jìn)程處理與客戶的交互。 雖然這種模型很多年來使用得很好,但是 fork 時(shí)有一些問題: fork 是昂貴的。內(nèi)存映像要從父進(jìn)程拷貝到子進(jìn)程,所有描述字要在子進(jìn)程中復(fù)制等等。目前有的 Unix 實(shí)現(xiàn)使用一種叫做寫時(shí)拷貝(copy-on-write)的技術(shù),可避免父進(jìn)程數(shù)據(jù)空間向子進(jìn)程的拷貝。盡管有…
-
Linux 操作的良好習(xí)慣總結(jié)
前言:從事運(yùn)維,遇到過各式各樣的問題,數(shù)據(jù)丟失,網(wǎng)站掛馬,誤刪數(shù)據(jù)庫(kù)文件,黑客攻擊等各類問題。 今天簡(jiǎn)單整理一下,分享給各位小伙伴。 一、線上操作規(guī)范 1. 測(cè)試使用 當(dāng)初學(xué)習(xí)Linux的使用,從基礎(chǔ)到服務(wù)到集群,都是在虛擬機(jī)做的,雖然老師告訴我們跟真機(jī)沒有什么差別,可是對(duì)真實(shí)環(huán)境的渴望日漸上升,不過虛擬機(jī)的各種快照卻讓我們養(yǎng)成了各種手賤的習(xí)慣,以致于拿到服務(wù)器操作權(quán)限時(shí)候,就迫不及待的想去試試,記得上班第一天,老大把root密碼交給我,由于只能使用putty,我就想使用xshell,于是悄悄登…
-
優(yōu)秀的代碼都是如何分層的?
1、背景 說起應(yīng)用分層,大部分人都會(huì)認(rèn)為這個(gè)不是很簡(jiǎn)單嘛 就controller,service, mapper三層??雌饋砗?jiǎn)單,很多人其實(shí)并沒有把他們職責(zé)劃分開,在很多代碼中,controller做的邏輯比service還多,service往往當(dāng)成透?jìng)髁?,這其實(shí)是很多人開發(fā)代碼都沒有注意到的地方,反正功能也能用,至于放哪無所謂唄。這樣往往造成后面代碼無法復(fù)用,層級(jí)關(guān)系混亂,對(duì)后續(xù)代碼的維護(hù)非常麻煩。 的確在這些人眼中分層只是一個(gè)形式,前輩們的代碼這么寫的,其他項(xiàng)目代碼這么寫的,那么我也這么跟著…
-
常用 Shell 分析服務(wù)器日志命令,運(yùn)維快收藏!
自己的小網(wǎng)站跑在阿里云的 ECS 上面, 偶爾也去分析分析自己網(wǎng)站服務(wù)器日志,看看網(wǎng)站的訪問量??纯从袥]有黑闊搞破壞!于是收集,整理一些服務(wù)器日志分析命令,大家可以試試! 1、查看有多少個(gè)IP訪問: awk '{print $1}' log_file|sort|uniq|wc -l 2、查看某一個(gè)頁(yè)面被訪問的次數(shù): grep "/index.php" log_file | wc -l 3、查看每一個(gè)IP訪問了多少個(gè)頁(yè)面: awk '{++S[$1]} END {for (a in S) prin…
-
幾個(gè)必不可少的Linux運(yùn)維腳本!
一、根據(jù)PID過濾進(jìn)程所有信息 #! /bin/bash # Function: 根據(jù)用戶輸入的PID,過濾出該P(yáng)ID所有的信息 read?-p?"請(qǐng)輸入要查詢的PID: "?P n=`ps -aux| awk?'$2~/^'$P'$/{print $11}'|wc -l` if?[?$n?-eq 0 ];then ?echo?"該P(yáng)ID不存在?。? ?exit fi echo?"--------------------------------" echo?"進(jìn)程PID:?$P" echo?"進(jìn)…
-
Linux 性能分析工具匯總
出于對(duì)Linux操作系統(tǒng)的興趣,以及對(duì)底層知識(shí)的強(qiáng)烈欲望,因此整理了這篇文章。本文也可以作為檢驗(yàn)基礎(chǔ)知識(shí)的指標(biāo),另外文章涵蓋了一個(gè)系統(tǒng)的方方面面。如果沒有完善的計(jì)算機(jī)系統(tǒng)知識(shí),網(wǎng)絡(luò)知識(shí)和操作系統(tǒng)知識(shí),文檔中的工具,是不可能完全掌握的,另外對(duì)系統(tǒng)性能分析和優(yōu)化是一個(gè)長(zhǎng)期的系列。 本文檔主要是結(jié)合Linux 大牛,Netflix 高級(jí)性能架構(gòu)師 Brendan Gregg 更新 Linux 性能調(diào)優(yōu)工具的博文,搜集Linux系統(tǒng)性能優(yōu)化相關(guān)文章整理后的一篇綜合性文章,主要是結(jié)合博文對(duì)涉及到的原理和性…
-
運(yùn)維必備!Linux 遠(yuǎn)程數(shù)據(jù)同步工具詳解
一、簡(jiǎn)介 1 認(rèn)識(shí) Rsync(remote synchronize)是一個(gè)遠(yuǎn)程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步多臺(tái)主機(jī)間的文件。Rsync使用所謂的“Rsync算法”來使本地和遠(yuǎn) 程兩個(gè)主機(jī)之間的文件達(dá)到同步,這個(gè)算法只傳送兩個(gè)文件的不同部分,而不是每次都整份傳送,因此速度相當(dāng)快; Rsync支持大多數(shù)的類Unix系統(tǒng),無論是Linux、Solaris還是BSD上都經(jīng)過了良好的測(cè)試; 此外,它在windows平臺(tái)下也有相應(yīng)的版本,如cwRsync和Sync2NAS等工具 2 原理 R…
-
老司機(jī)親授:請(qǐng)收下這份運(yùn)維故障處理指南
1.故障處理原則 故障處理的原則只有兩個(gè): 以恢復(fù)業(yè)務(wù)優(yōu)先 及時(shí)升級(jí) 1.1?恢復(fù)業(yè)務(wù)優(yōu)先 恢復(fù)業(yè)務(wù)優(yōu)先是指,不管在任何情況下,也不管任何級(jí)別的故障,都要先做到恢復(fù)業(yè)務(wù),這個(gè)和故障定位不同,也有很多人會(huì)產(chǎn)生歧義,覺得如果不找到問題的根源,如何能恢復(fù)業(yè)務(wù),下面我舉一個(gè)例子說明二者的差別: 如果 A 應(yīng)用調(diào) B 應(yīng)用時(shí),調(diào)用失敗,這時(shí)我們要怎么做? 方法一,排查問題,尋找A到B之間會(huì)經(jīng)過哪些環(huán)節(jié),找到其中的出問題的環(huán)節(jié),比如HA連接異常,進(jìn)行重啟或者擴(kuò)容恢復(fù)。 方法二,從A應(yīng)用的服務(wù)器去ping B…
-
7 款顏值 yyds 的 Linux 操作系統(tǒng) !
Linux 的發(fā)行版有很多,這里羅列7個(gè)漂亮的 Linux 發(fā)行版,可以說是Linux操作系統(tǒng)界的顏值擔(dān)當(dāng)了。 elementary OS 網(wǎng)站:https://elementaryos.cn elementary OS操作系統(tǒng)是最漂亮的Linux發(fā)行版之一。它基于macOS外觀,同時(shí)為L(zhǎng)inux用戶提供了出色的用戶體驗(yàn)。如果用戶已經(jīng)習(xí)慣使用macOS,則使用elementary OS不會(huì)有任何問題。 另外,elementary OS操作系統(tǒng)基于Ubuntu,因此用戶也可以輕松找到大量應(yīng)用程序來…
-
分享:Linux 的 6 個(gè)實(shí)際和現(xiàn)實(shí)應(yīng)用
眾所周知,Linux 為全球數(shù)百萬臺(tái)服務(wù)器和臺(tái)式機(jī)提供支持。但是這個(gè)開源操作系統(tǒng)還有其他應(yīng)用嗎? 如果您在桌面上使用 Linux,您可能想知道您正在使用的操作系統(tǒng)有哪些實(shí)際用途。幸運(yùn)的是,今天有很多 Linux 的實(shí)際應(yīng)用程序。以下是其中一些。 1. 網(wǎng)絡(luò)服務(wù)器 Linux 在現(xiàn)實(shí)世界中最大的用途是在服務(wù)器上,尤其是 Web 服務(wù)器上。Linux 主導(dǎo) Web 服務(wù)器市場(chǎng)有幾個(gè)原因。 一個(gè)原因是 Linux 安裝起來非常便宜。回到 90 年代的“互聯(lián)網(wǎng)”時(shí)代,許多初創(chuàng)公司正是出于這個(gè)原因發(fā)現(xiàn)了 …