51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)
? ? ? 51CTO學習筆記--Linux運維故障排查思路與系統調優技巧視頻課程
? ? ? ??
? ? ? ? ? ? ? ? ??
? ? ? ? ?第一課 Linux運維經驗分享與思路
1、一般把主機名,寫到hosts下 ? ?127.0.0.1 ? ?hostname,因為很多應用要解析到本地。oracle沒有這個解析可能啟動不了。
2、注釋掉UUID以及MAC地址,需要綁定網卡的時候,這個可能會有影響。
3、磁盤滿了無法啟動, ?var下木有空間,無法創創建PID等文件,導致文件無法啟動,按e ? 進入single ?然后b ?重啟進入單用戶模式。
4、ssh登陸系統策略
/etc/ssh/sshd.conf ? ? ? port 改成5位數 ? ?設置 允許IP
permitroot ?改為 no
使用秘鑰登錄 可以關閉 passwordauth
GSSAPIAuthentication ?no 以及UseDNS no 提高ssh鏈接速度
5、用戶權限策略
? ? 禁止root用戶遠程登錄系統,授權僅普通用戶登錄系統,需要管理員權限執行 sudo,避免root用戶登錄。
? ?/etc/sudoers ? ? (普通用戶切換到root權限,sudo 時不需要加密碼)
? liqilong ALL=(ALL) ?NOPASSWD: ALL
6、更新yum源以及必要軟件安裝
常用的yum源:epel、repoforge軟件更新快 ?系統升級 ?yum update
7、定時自動更新服務器時間
?1、) crontab ?推薦服務器 time-a.nist.gov ? ntp.sjtu.edu.cn
? ? ? ? /usr/sbin/ntpdate ntp.sjtu.edu.cn >> /var/log/ntp.log 2>&1;
? ? ? ?/sbin/hwclock -w
? ? ? 執行同步,以及保存
2、) 架設ntp server ? ? /etc/ntp.conf
8、精簡開機自啟動服務
線上服務建議開啟的服務:crond,network,syslog,sshd,iptables,udev-post (資源安全設置),sysstat(系統負載、資源監控)
全部關閉
for serv in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $serv off;done
然后開啟需要的服務
for serv in ‘crond network syslog sshd iptables udev-post ?sysstat;do chkconfig --level 3 $serv on;done
9、刪除無關用戶組、用戶
查看組 ?more /etc/group ? 查看用戶 ?/etc/passwd
10、定時自動清理垃圾文件
du -sh ./* ? ?查看目錄里 文件的大小
ls -al ? 查看全部文件(使用習慣)
/var/spool/cron ? 每個用戶的定時任務都會生成相應的目錄
11、重要文件安全策略(重要文件加鎖,禁止修改)
chattr +i /etc/sudoers ?(加鎖) ? ? ? chattr -i (去鎖)
chattr +i /etc/shadow ? ?/etc/passwd ? /etc/grub.conf
12、內核參數優化
1、關注ulimit命令 ? ulimit -a ? ?查看相關參數
需要重點關注:ulimit -c -f -n -u
ulimit -c ? core file 類似于 debug,調試程序 ?ulimit -c unlimited ? 打開core file
ulimit -f ? ?file ?size ? 限制文件大小
ulimit ?-n ? ?open file ? 最大打開文件個數,大一點 ?一般 65536,tomcat 可能是404,沒有更多的文件可以打開。
ulimit ?-u 最大用戶進程數,某個用戶的最大進程數,一般不需要修改,系統一般設置成最大值。
臨時生效,永久生效需要配置文件 ?/etc/security/limits.conf ? ? ? 以及 /etc/security/limits.d/20-nproc ? 兩個同時配置,20-nproc生效,max user processes 設置在20-nproc
/etc/sysctl.conf
net.ipv4.ip_forward = 0 ,默認關閉,要做代理服務器或nat需要打開
* ?soft ?nofile 65536 ? ? 最大打開文件個數
* ?hard nofile 65536
13、系統故障排查關注點
1、tail -f /var/log/messages ? #應用日志查詢
2、tail -f /var/log/secure ? ? ? ?#登陸日志查詢
3、dmesg ? ? #系統日志查詢(內存信息,系統重啟保存在/var/log/dmesg)
4、/var/tmp, /tmp #容易***點查詢,權限777
5、crontab -l、/etc/crontab ? ?#計劃任務查詢(經常***對象)
? ? ? ? ?/etc/cron.d ? ?目錄下會被 crontab調用, 各個目錄(cron.daily/ ? cron.hourly/ ?cron.monthly/ cron.weekly/)里面的文件
? ? ? ? ? ? ? 第二課 ?Linux系統性能優化思路和方法
一、影響Linux性能的各種因素
1、系統硬件資源
(1)CPU ? 個數 頻率
processor、physical id 、cpu cores(每個CPU核數)、
如何判斷CPU 超線程:核數是 physical id ? 、cpu cores 的兩倍使用了超線程
消耗CPU的業務:動態web服務,mail服務
(2)內存 ? ? ? 64位系統、磁盤操作改到內存中 ? ? swap分區:任何時候都需要,物理內存足夠大,swap可以小點 , 服務器內存大于16G,swap可以設為16G,小于16G,swap=物理內存也可以是物理內存*2
消耗內存的業務:內存數據庫(redis、hbase、mongodb)讀寫在內存,支持大并發
(3)磁盤IO
RAID技術:RAID0/1/5/01/10 ? ? 性能、安全性,RAID1 互為鏡像 ,安全性 ; RAID 0 兩個磁盤 變為一個; RAID5 帶奇偶校驗 ;RAID10 ? 底層兩個磁盤 RAID0 ? ?然后再RAID1,RAID10 安全性、性能 ;數據庫重要 RAID10。
消耗磁盤的業務:數據庫服務器、、、
(4)網絡帶寬
網卡/交換機的選擇:千兆網卡、接入交換全千兆、核心交換萬兆交換
操作系統雙網卡綁定:雙網卡的負載均衡或者累加
消耗寬帶的業務:hadoop平臺,視頻業務平臺
2、操作系統相關資源
系統安裝優化、內核參數優化、文件系統優化(xfs高性能文件系統,linux 3.10內核開始默認支持)
讀操作頻繁,同時小文件眾多的應用:首選ext4文件系統,接下來依次是xfs、ext3
寫操作頻繁的應用:首選是xfs、接下來是ext4和ext3
二、Linux性能優化工具
1、cpu性能評估工具
(1)vmstat 3 5 ? 每三秒輸出一次,輸出5次
procs ? r:運行和等待cpu時間片的進程數,這個值如果長期大于系統CPU個數,說明CPU不足,需要增加CPU核數
? ? ? ? ? b:等待資源的進程數,長期比較大,CPU不足
memory :swap 切換到內存交換區的內存數量,(單位k)
? ? ? ? ? ? ? ? ?buff表示 buffer cache 一般是對塊設備的讀寫才需要緩沖。
? ? ? ? ? ? ? ? ?cache 表示page cache 的內存數量,一般作為文件系統caches,頻繁訪問的文件都會被cached,如果cached值較大。說明caches的文件較多
swap :si 由磁盤進入內存 ? ? ?經常非常大內存不足
? ? ? ? ? ? so 內存進入磁盤 ? ? ? ? 經常非常大內存不足
IO : bi 從塊設備讀入數據的總量(讀磁盤)(每秒kb)
? ? ?bo 寫入塊設備數據的總量(寫磁盤)(每秒kb)
bi+bo 超過1000,并且wa值較大,則表示 系統磁盤有問題,應該考慮提高磁盤的書寫性能。
system ?: in 某一時間間隔中觀測到的每秒設備中斷數
? ? ? ? ? ? ? cs 每秒產生的上下文切換
? ? ? ? ? ? ?2個值越大,由內核消耗的CPU時間會越多
CPU : us 用戶進程消耗的CPU時間百分比。us的值比較高時,說明用戶進程消耗的CPU時間多,但是如果長期大于50%,就需要考慮優化程序或算法。
? ? ? ? sy 內核消耗的CPU時間百分比
? ? ? ? us+ys 參考值80% 大于80%可能內存資源不足
? ? ? ? id 顯示了CPU處在空閑狀態的時間百分比。
? ? ? ? wa :io等待所占用的CPU時間百分比,wa越高,說明等待越嚴重。
2、內存評估
(1) free -m
(2)sar/ pidstat ? ?-r 內存 ?-u ?cpu ? -d 磁盤
? ? ? sar -r 3 ?5 ? ? 每三秒輸出一次,輸出5次 ?
? ? ?sar -u 3 ?獲取內存3秒內的狀態
? ? ? ? ? kbcommit ? 內存使用 ? ? ?
? ? ? pidstat -r -p 1 3 ?獲取內存3秒內的狀態 ? ?-p 進程 pid
3、硬盤性能
? iostat -d 3 5 ? ? ?tps 每秒到物理磁盤的傳送數,也每秒的I/O流量
4、網絡性能
mtr 動態路由跟蹤
traceroute 靜態路由跟蹤
netstat -i 查看路由情況 ? ?-r 網絡接口
debug模式 ? ? ?Shift+F2
案例1、/etc/passwd ? root名稱改成別的名稱(test),權限不改。。。導致系統無法啟動, 能登錄,ps -ef發現所有進程都是 以test用戶啟動的
解決方案:單用戶模式修改/etc/paawd ?
案例2、遠程登錄以后,立即退出,本地登錄也是如此。密碼錯誤有提示。ulmit ?-n ?設置 問題
tail -f /var/log/secure
error :PAM:pam_open_session():Permission denied.
pam_limits: ?could not set limit
解決方案:ulmit ?-n ? 6553600 基本滿足一般要求
? ? ?limits.conf ?nofiles 設置過大,申請不到最大值回復到默認的值1024。
歡迎打算使用阿里云服務器的小伙伴,加我私聊!!QQ:3533470970? 或直接領取阿里云幸運券:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=b6h928qb&utm_source=b6h928qb
轉載于:https://blog.51cto.com/liqilong2010/1897683
總結
以上是生活随笔為你收集整理的51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于主题模型的专利文本主题挖掘与应用研究
- 下一篇: 修改apk二进制文件工具