查看占用cpu率最高的几个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
查看定时任务 crontab -l
中文乱码 -Dfile.encoding=utf-8
Element - The world's most popular Vue UI framework
如何清理Docker占用的磁盘空间? - DockOne.io
docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况:
docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了……所以使用之前一定要想清楚吶。
执行docker system prune -a命令之后,Docker占用的磁盘空间减少了很多
删除所有关闭的容器:
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
删除所有dangling镜像(即无tag的镜像):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
删除所有dangling数据卷(即无用的Volume):
docker volume rm $(docker volume ls -qf dangling=true)
限制容器的日志大小
有一次,当我使用1与2提到的方法清理磁盘之后,发现并没有什么作用,于是,我进行了一系列分析。
在Ubuntu上,Docker的所有相关文件,包括镜像、容器等都保存在/var/lib/docker/目录中:
du -hs /var/lib/docker/ 97G /var/lib/docker/
Docker竟然使用了将近100GB磁盘,这也是够了。使用du命令继续查看,可以定位到真正占用这么多磁盘的目录:
92G /var/lib/docker/containers/a376aa694b22ee497f6fc9f7d15d943de91c853284f8f105ff5ad6c7ddae7a53
由docker ps可知,Nginx容器的ID恰好为a376aa694b22,与上面的目录/var/lib/docker/containers/a376aa694b22的前缀一致:
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a376aa694b22 192.168.59.224:5000/nginx:1.12.1 "nginx -g 'daemon off" 9 weeks ago Up 10 minutes nginx
因此,Nginx容器竟然占用了92GB的磁盘。进一步分析可知,真正占用磁盘空间的是Nginx的日志文件。那么这就不难理解了。我们Fundebug每天的数据请求为百万级别,那么日志数据自然非常大。
使用truncate命令,可以将Nginx容器的日志文件“清零”:
truncate -s 0 /var/lib/docker/containers/a376aa694b22ee497f6fc9f7d15d943de91c853284f8f105ff5ad6c7ddae7a53/*-json.log
当然,这个命令只是临时有作用,日志文件迟早又会涨回来。要从根本上解决问题,需要限制Nginx容器的日志文件大小。这个可以通过配置日志的max-size来实现,下面是Nginx容器的docker-compose配置文件:
nginx: image: nginx:1.12.1 restart: always logging: driver: "json-file" options: max-size: "5g"
重启Nginx容器之后,其日志文件的大小就被限制在5GB,再也不用担心了~
4. 重启Docker
还有一次,当我清理了镜像、容器以及数据卷之后,发现磁盘空间并没有减少。根据Docker disk usage提到过的建议,我重启了Docker,发现磁盘使用率从83%降到了19%。根据高手指点,这应该是与内核3.13相关的Bug,导致Docker无法清理一些无用目录:
it's quite likely that for some reason when those container shutdown, docker couldn't remove the directory because the shm device was busy. This tends to happen often on 3.13 kernel. You may want to update it to the 4.4 version supported on trusty 14.04.5 LTS.
The reason it disappeared after a restart, is that daemon probably tried and succeeded to clean up left over data from stopped containers.
我查看了一下内核版本,发现真的是3.13:
uname -r 3.13.0-86-generic
# 查找"/"目录下所有大于100M的所有文件
find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr
sudo du -hs /var/lib/docker/
idea 快捷键
回到上一步 ctrl + alt + <-
回到下一步 ctrl + alt + ->
IDEA
自动删除类中无用的import包 Ctrl + Alt + O
格式化代码 ctrl + alt + L
192.168.2.185 服务器
上执行
ssh-keygen -m PEM -t rsa -b 4096 一直回车
拷贝公钥到远程服务器 :ssh-copy-id 192.168.0.229 回车输入yes
回车输入 192.168.0.229 服务器密码
119.23.107.229 服务器cat authorized_keys会看到追加的内容
npm install -d 就是npm install --save-dev
npm insatll -s 就是npm install --save
package.json 文件里面体现出来的就是,使用 --save-dev 安装的 插件,被写入到 devDependencies 域里面去,而使用 --save 安装的插件,则是被写入到 dependencies 区块里面去。
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的
ubuntu开放端口
iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
Windows PowerShell
set-ExecutionPolicy RemoteSigned
MySQL数据库时间不对
date -R
show variables like '%time_zone%';
set time_zone='+8:00';flush privileges;
select now(); 数据库查询当前时间
或者
找到my.ini, 在mysqld 下增加 default-time-zone = '+8:00'
必须放到mysqld 下,放入其它位置无效
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
或grep 'physical id' /proc/cpuinfo | sort -u | wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
或者grep 'core id' /proc/cpuinfo | sort -u | wc -l
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
或者grep 'processor' /proc/cpuinfo | sort -u | wc -l
# 查看CPU信息(型号)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
或者dmidecode -s processor-version
#查看内 存信息cat /proc/meminfo
Linux 好用的ssh远程终端 finalshell
cat /proc/cpuinfo| grep "cpu cores"| uniq
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
cat /proc/cpuinfo |grep "processor"|sort -u|wc -l
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看每个物理CPU中core的个数
cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
Windows杀死进程:
netstat -ano |findstr 9099
tasklist |findstr 15568
taskkill /f /t /im "进程id或者进程名称" 比如:taskkill /f /t /im 15568
选中多行代码,按住tab就会同时向右移动
选中多行代码,按住shift+tab就会同时向左移动
更新代码之后 一直按住右方向键头 就可以从上到下展开目录
java:找不到符号 符号: 变量 log 位置
Maven打包时去掉项目版本号
Maven打包后,jar或war文件名里带有版本号信息,如projectname0.0.1-SNAPSHOT.jar等,怎么去掉呢?
解决办法:
打开项目pom.xml文件,在<build> </build>标签内加入如下内容:
<build>
<finalName>projectname</finalName></build>