ubuntu全面的教程适合新手:三

测试硬盘的实际写入速度

dd if=/dev/zero of=test bs=64k count=512 oflag=dsync

进程
查看当前的内存使用情况

free

连续监视内存使用情况

watch -d free
# 使用 Ctrl + c 退出

动态显示进程执行情况

top
top 指令运行时输入 H 或?打开帮助窗口,输入 Q 退出指令

查看当前有哪些进程

ps -AFL

查看进程的启动时间

ps -A -opid,stime,etime,args

查看目前登入用户运行的程序

w

查看当前用户程序实际内存占用,并排序

ps -u $USER -o pid,rss,cmd --sort -rss

统计程序的内存耗用

ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr

[i]

按内存从大到小排列进程
[/i]

ps -eo "%C: %p : %z : %a"|sort -k5 -nr

列出前十个最耗内存的进程

ps aux | sort -nk +4 | tail

按 cpu 利用率从大到小排列进程

ps -eo "%C : %p : %z : %a"|sort
ps aux --sort -pcpu |head -n 20

查看当前进程树

pstree

中止一个进程

kill 进程号(就是 ps -A 中的第一列的数字)
或者 killall 进程名

强制中止一个进程(在上面进程中止不成功的时候使用)

kill -9 进程号
或者 killall -9 进程名

图形方式中止一个程序

xkill 出现X标志的鼠标,点击需要中止的程序即可

查看进程打开的文件

lsof -p 进程的 pid

显示开启文件 abc.txt 的进程

lsof abc.txt

显示 22 端口现在运行什么程序

lsof -i :22

显示 nsd 进程现在打开的文件

lsof -c nsd

在後台运行程序,退出登录後,并不结束程序

nohup 程序 &
#查看中间运行情况 tail nohup

在后台运行交互式程序,退出登录后,并不结束程序

sudo apt-get install screen
screen vim a.txt
#直接退出后使用
screen -ls
# 1656.pts-0.ubuntu
(Detached)
screen -r 1656 #恢复
#热键,同时按下 Ctrl 和 a 键结束后,再按下功能键
C-a ?
#显示所有键绑定信息
C-a w
#显示所有窗口列表
C-a C-a #切换到之前显示的窗口
C-a c
#创建一个新的运行 shell 的窗口并切换到该窗口
C-a n
#切换到下一个窗口
C-a p
#切换到前一个窗口(与 C-a n 相对)
C-a 0..9
#切换到窗口 0..9
C-a a
#发送 C-a 到当前窗口
C-a d
#暂时断开 screen 会话
C-a k
#杀掉当前窗口

在后台运行交互式程序,退出登录后,并不结束程序

tmux 进入后再运行其它命令
tmux attach #恢复
#热键,同时按下 Ctrl 和 b 键结束后,再按下功能键
C-b c
#创建一个新的运行 shell 的窗口并切换到该窗口
C-b n
#切换到下一个窗口
C-b p
#切换到前一个窗口(与 C-a n 相对)
C-b 0..9
#切换到窗口 0..9
C-b d
#暂时断开会话
C-b &
#杀掉当前窗口

详细显示程序的运行信息

strace -f -F -o outfile <cmd>

增加系统最大打开文件个数

#ulimit -SHn
sudo vim /etc/security/limits.conf
文件尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
将 pam_limits.so 这一行注释去掉
重起系统

清除僵尸进程

ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9

将大于 120M 内存的 php-cgi 都杀掉

ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3>=120000) print $1}' | xargs sudo kill -9

下文连接http://www.ubuntukylin.com/ukyli … ead&tid=4581&extra=