Linux 使用技巧集锦[centos]

 

服务器负载大,跟踪进程

比如,但网站服务器负载过大,网站数量又多,不知是那个网站占用太多资源,这时strace派上用场了。

第一步,查看 php-cgi 进程号: ps aux|grep php-cgi

第二步,查看系统调用 strace -p 进程号 或者,将记录结果存在output.txt文件中

strace -o output.txt -T -tt -e trace=all -p 进程号 

只显示recv函数的调用:strace  -p 5314 -f -F -e recv

查看线程打开的文件描述符:lsof -p  pid 或者 ll /proc/pid/fd

可以用下面的命令将 cpu 占用率高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

 


一个php-cgi占用多少内存

 


指令ps找出消耗内存的元凶

ps -A -sort -rss -o comm,pmem,pcpu | uniq -c | head -15


删除20天以前的文件: find /home/ -mtime +20 -name "hilife*.sql.gz" -exec rm -rf {} \;


强制踢人命令格式:pkill -kill -t tty



查当前连接数:要用于CC攻击:

 netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n

查看并发数:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  

查看并发数(简洁版):

netstat -nat|grep ESTABLISHED|wc -l

 



看有没有人在扫你的VPS的SSH端口,说白了,在爆你的root帐号 

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'

cat /var/log/secure.3|awk '/Failed/{print $1"-"$2"-"$3"-->"$(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'
 


find命令如何查找当天修改过的文件 

 find ./ -mtime 0 -type f



建立管理员组内一般用户
vi /etc/pam.d/su
#auth required /lib/security pam_wheel.so use_uid   ← 找到此行,去掉行首的“#”
echo "SU_WHEEL_ONLY yes" >> /etc/login.defs ← 添加语句到行末
以上操作完成后,可以再建立一个新用户,然后用这个新建的用户测试会发现,没有加入到wheel组的用户,执行“su -”命令,即使输入了正确的root密码,也无法登录为root用户。



命令行下计算器:echo "2534453+2942"|bc
注:要先安装bc才行



统计某个进程占用的内存总数: ps aux|grep -v grep |awk '/nginx/{sum+=$6;n++};END{print sum/1024}'


 通过日志统计流量


cat access.log |awk '{sum+=$10} END {print sum/1024/1024/1024}'

 

统计出来的单位是G


scp 传输整个目录速度太慢

以前我搬家VPS都用scp 不过最近服务商把主机搬移到美东,导致延迟高达200ms,用scp连接的话每秒大概只能跑两个档案,整台VPS有数十万以上个文件,这样跑下去要跑太久了。。。。

有想过先用压缩在传输,不过原来的VPS硬盘不够了,没办法压缩

tar -czvf - ./ | ssh -l <user> -p <port> <host> "tar -xzvf - -C </path/to/your/dir>"
你可以把 z 换成 j, 会更快的. 因为 bzip的 压缩比 gzip 更高


连接数监控

netstat -ant|wc -l

netstat -ant|awk  '{print $6}'|sort|uniq -c|sort -n

netstat -anpo|grep php-cgi|wc -l   连接进程数

netstat -ant|grep 11111|wc -l  连接端口数

如何监控linux下的进程占用内存的情况

top -d 1

然后shift + m(按占用内存大小排序)



修改mysql密码

1、root用户登录系统
/usr/local/mysql/bin/mysqladmin -u root -p password 新密码
enter password 旧密码

2、shell> mysql -u root mysql
mysql> SET PASSWORD FOR root=PASSWORD(’new_password’);


查看目录大小
1、du -sh */显示当前所有目录大小
2、du -lh 显示当前目录所有文件大小,以列表列表展现


删除升级后的多余内核
1.首先列出系统中正在使用的内核:
# uname -a
2.查询系统中全部的内核:
# rpm -qa | grep kernel
3.将你想删除的内核删除掉:(例如,在我的系统中,我要删掉2.6.32-71.el6.i686的内核,需要把所有含有2.6.32-71.el6.i686字样的全部删掉)
#yum remove kernel-2.6.32-71.el6.i686
#yum remove kernel-devel-2.6.32-71.el6.i686
4.重启后就可以看到,内核被删掉了,同时多余的启动项也自动被删掉了,不需要自己手动修改/boot/grub/menu.lst 

300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00701 秒