Unix toolbox注解2之Linux系统状态用户和限制
Unix toolbox注解1之Linux系統硬件信息
Unix toolbox注解2之Linux系統狀態用戶和限制
本系列文章為筆者對Unix toolbox的一些個人注解,加入個人的一些元素,刪減了其中一些對于freebsd的一些命令介紹,文中的內容筆者都一一驗證過,放心使用。
1.2顯示狀態信息
以下命令有助于找出正在系統中運行著的程序
# top ????????? # 顯示和更新使用 cpu 最多的進程
注:
top小技巧,執行top命令之后,可以敲擊如下按鍵,實現不同功能 1(數字1):列出所有的單個CPU負載情況z:top顯示顏色
P:按CPU占用高低順序列出程序 M:按內存占用高低順序列出程序 x:類似高亮顯示,在z顯示模式下才有效果如下效果圖:
top顯示Swap利用率,使用top命令后按f鍵,然后按p鍵,回車之后即可看到Swap狀態
d:top默認的刷新時間是3s,使用d鍵可以自定義刷新時間
top類似上下翻頁的方法: shift <?下翻頁 shift >上翻頁top默認按cpu占用排序,這也是可以修改,按F(大寫)即可選擇相應排序,之后回車即可
c:顯示進程命令的全路徑與參數
W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法
# mpstat 1 ???? # 顯示進程相關的信息 # vmstat 2 ???? # 顯示虛擬內存的狀態信息 # iostat 2? ?? # 顯示 I/O 狀態信息(2 秒 間隙) # tail -n 500 /var/log/messages # 顯示最新500條內核/系統日志的信息1.3用戶
# id ?????? # 顯示當前用戶和用戶組的 ID # last ???? # 列出目前與過去登入系統的用戶相關信息 # who ????? # 顯示目前登入系統的用戶信息 # groupadd admin # 建立新組"admin"和添加新用戶 colin 并加入 admin 用戶組(Linux/Solaris) # useradd -c "Colin Barschel" -g admin -m colin # userdel colin # 刪除用戶 colin(Linux/Solaris)使用 nologin 來臨時阻止所有用戶登錄(root除外)。用戶登錄時將會顯示 nologin 中的信息。
# echo "Sorry no login now" > /etc/nologin # (Linux)
1.4限制
某些應用程序需要設置可打開最大文件和socket 數量(像代理服務器,數據庫)。 默認限制通常很低。
注: 關于ulimit使用可閱讀IBM文檔:通過 ulimit 改善系統性能筆者之前也寫過有關文件描述符文章介紹:Linux下文件描述符
?????????????????????????????? 關于RHEL6中ulimit的nproc限制
ulimit 用于限制 shell 啟動進程所占用的資源,支持以下各種類型的限制:所創建的內核文件的大小、進程數據塊的大小、Shell 進程創建文件的大小、內存鎖住的大小、常駐內存集的大小、打開文件描述符的數量、分配堆棧的最大大小、CPU 時間、單個用戶的最大線程數、Shell 進程所能使用的最大虛擬內存。同時,它支持硬資源和軟資源的限制。
作為臨時限制,ulimit可以作用于通過使用其命令登錄的 shell 會話,在會話終止時便結束限制,并不影響于其他 shell 會話。而對于長期的固定限制,ulimit 命令語句又可以被添加到由登錄 shell 讀取的文件中,作用于特定的 shell 用戶。[root@kumu ~]# ulimit -a???????? //顯示當前所有限制的詳細信息
core file size????????? (blocks, -c) 0
data seg size?????????? (kbytes, -d) unlimited
scheduling priority???????????? (-e) 0
file size?????????????? (blocks, -f) unlimited
pending signals???????????????? (-i) 1829
max locked memory?????? (kbytes, -l) 64
max memory size???????? (kbytes, -m) unlimited
open files????????????????????? (-n) 1024
pipe size??????????? (512 bytes, -p) 8
POSIX message queues???? (bytes, -q) 819200
real-time priority????????????? (-r) 0
stack size????????????? (kbytes, -s) 10240
cpu time?????????????? (seconds, -t) unlimited
max user processes????????????? (-u) 1024
virtual memory????????? (kbytes, -v) unlimited
file locks????????????????????? (-x) unlimited
shell/腳本
shell的限制是受ulimit支配的。使用ulimit -a 可查看其狀態信息。舉個例子,改變可打開最大文件數從1024 到 10240,可以這么做:
# ulimit -n 10240 ?# 這只在shell中有用ulimit 命令可以使用在腳本中來更改對此腳本的限制。
用戶/進程
登錄用戶和應用程序的限制可以在/etc/security/limits.conf 中配置。舉個例子:
# cat /etc/security/limits.conf * hard nproc 250 ?????????????? # 限制所有用戶進程數 asterisk hard nofile 409600 # 限制應用程序可打開最大文件數系統級
用sysctl來設置內核限制。要使其永久,可以在/etc/sysctl.conf 中進行配置。
# sysctl -a ??????? # 顯示所有系統限制 # sysctl fs.file-max ?? # 顯示系統最大文件打開數 # sysctl fs.file-max=102400 # 更改系統最大文件打開數 # cat /etc/sysctl.conf fs.file-max=102400 ???????? # 在 sysctl.conf 中的永久項 # cat /proc/sys/fs/file-nr # 在使用的文件句柄數?
轉載于:https://blog.51cto.com/kumu1988/1091825
總結
以上是生活随笔為你收集整理的Unix toolbox注解2之Linux系统状态用户和限制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyQt - 维基百科,自由的百科全书
- 下一篇: PHP管理员登陆、验证与添加(前端验证)