Linux与微服务

CPU信息

more /proc/cpuinfo

内存及交换分区的使用情况

free -h

清理内存

echo 1 > /proc/sys/vm/drop_caches

::freemem.sh
#!/bin/bash

used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`

echo "================================================" >> /var/log/mem.log
date >> /var/log/mem.log
echo "Memory usage | [Use: ${used}MB][Free: ${free}MB]" >> /var/log/mem.log

if [ $free -le 100 ]; then
	sync && echo 1 > /proc/sys/vm/drop_caches
	sync && echo 2 > /proc/sys/vm/drop_caches
	sync && echo 3 > /proc/sys/vm/drop_caches
	echo "OK" >> /var/log/mem.log
else
	echo "Not required" >> /var/log/mem.log
fi

将脚本添加到crond任务,定时执行。

echo "*/30 * * * * root /dir/freemem.sh" >> /etc/crondtab

一般情况下,应用在系统上稳定运行了,free值也会保持在一个稳定值的,虽然看上去可能比较小。
生产环境下的服务器可以不考虑手工释放内存,这样会带来更多的问题。内存是拿来用的,不是拿来看的;不像windows。
如果常常swap用很多,可能你就要考虑加物理内存了,这也是linux看内存是否够用的标准。

磁盘的使用情况

df -h

IP及网卡信息

ifconfig
ip a s	// 所有网卡信息
ip -s link show e***

网络连接服务及端口

netstat -h
netstat -nulp  // UDP
netstat -ntlp  // TCP

动态查看进程信息

指令 参数 备注
top -d 1 界面刷新
-p pid 直接查看指定进程
P cpu排序
M 内存排序
1 多核cpu情况
c 显示整个命令行
x 当前排序列
b 加亮效果

根据进程名称模糊查找进程信息

ps -ef|grep ***.dll

显示单个进程状态

top -p [pid]

记录1分钟内的服务器运行状态

top -b -d 1 -n 60 >/home/cpu.txt 

消耗最大内存的进程信息

ps -eo pid,ppid,%mem,%cpu,comm --sort=-%mem | head

杀死进程

kill -9 pid

编译安装libgdiplus

Linux build

./autogen.sh --prefix=/usr
make

下载安装包

http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.5.tar.gz

permission denied

chmod a+x autogen.sh

缺少依赖文件

yum install libgif-dev autoconf libtool automake build-essential gettext libglib2.0-dev libcairo2-dev libtiff-dev libexif-dev

退出系统

exit

创建多级目录并赋权限

mkdir -m 777 test -p test/test1

删除文件及目录

rm -f 1.jpg  // 默认删除文件
rm -ir test  // 确认删除文件夹
rm -rf test  // 直接删除文件夹

查看服务

查看指定服务(比如SSH)是否安装及运行情况

rpm -qa | grep ssh    // 查看安装包
ps -ef | grep ssh     // 查看是否安装成功
service sshd start    // 开启服务
grep Port /etc/ssh/sshd_config  // 服务端口号

防火墙操作

firewall-cmd --state   // 查看默认防火墙状态(running开启)
firewall-cmd --zone=public --add-port=3306/tcp --permanent    // 为3306端口添加例外
firewall-cmd --reload  // 重启
firewall-cmd --list-all // 查看

systemctl restart firewalld     // 重启
systemctl stop firewalld        // 关闭
systemctl enable firewalld      // 设置开机启动
systemctl disable firewalld     // 禁止开机启动

/etc/init.d/iptables stop              // 禁用防火墙配置

解压文件

tar xzf XXX.tar.gz
原文地址:https://www.cnblogs.com/wesson2019-blog/p/14122078.html