- 现象
在一个16G的内存系统的linux系统中,使用多命令无法使用释放缓存 - 尝试许多办法
- echo 1 > /proc/sys/vm/drop_caches && echo 2 > /proc/sys/vm/drop_caches && echo 3 > /proc/sys/vm/drop_caches
- 尝试把上个命令卸载crontab里面 ,每小时执行一次
但依然有12个G的内存未释放,请问如何判断释放出缓存。或者如何判断哪个进程占用极大内存
但依然有12个G的内存未释放,请问如何判断释放出缓存。或者如何判断哪个进程占用极大内存
环境变量设置一般是系统用户环境变量和用户环境变量,相关配置文件如下:
/etc/profile全局用户,应用于所有的Shell。/$HOME/.profile当前用户,应用于所有的Shell。/etc/bash_bashrc全局用户,应用于Bash Shell。~/.bashrc局部当前,应用于Bash Sell
如果只是程序软件的临时环境变量设置,那么就需要在软件所在目录执行如下语句
find
. -name
"*.*"
|
xargs
grep
"test"
上述信息请用查找的变量信息来替换test
linux启动后环境变量加载的顺序为:etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]
本人写了一个shell脚本,里面有sqlplus,发现手动执行会有跑到sqlplus但是放到crontab里面不执行sqlplus,但是shell会跑。后面我在shell脚本上设置了环境变量,最终执行,因为crontab不一样,它本身没有环境给你运行,所以需要手动添加环境:
source /etc/profile
#source ~/.bash_profile
. ~/.bash_profile
其中主要要看下面的环境变量是在哪个文件中就加载引用哪个文件
source ~/.bash_profile和. ~/.bash_profile都可以用
export PATH=/myweb/instantclient_12_2:$PATH
export LD_LIBRARY_PATH=/myweb/instantclient_12_2:$LD_LIBRARY_PATH
注意:是在#!bin/bash的上面,而不是下面,否则运行不了。另外这里只写一个也应该是可以的,可以自己试试。