睡觉不磨牙的蜗牛 2023-05-17 09:37 采纳率: 0%
浏览 15

linux系统无法释放缓存

  1. 现象
    在一个16G的内存系统的linux系统中,使用多命令无法使用释放缓存
  2. 尝试许多办法
    1. echo 1 > /proc/sys/vm/drop_caches && echo 2 > /proc/sys/vm/drop_caches && echo 3 > /proc/sys/vm/drop_caches
    2. 尝试把上个命令卸载crontab里面 ,每小时执行一次

但依然有12个G的内存未释放,请问如何判断释放出缓存。或者如何判断哪个进程占用极大内存

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-17 12:10
    关注
    • 这篇博客: linux如何查看某环境变量在哪个文件中配置以及crontab不执行问题中的   部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 环境变量设置一般是系统用户环境变量和用户环境变量,相关配置文件如下:

      /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的上面,而不是下面,否则运行不了。另外这里只写一个也应该是可以的,可以自己试试。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月17日

悬赏问题

  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,