
Ubuntu日本語フォーラム

ログインしていません。
Ubuntuの動作が遅いためfree -hコマンドをしてみるとbuff/cacheが223Mになっていました。
このメモリ解放をするために「sudo su」→「echo 3 /proc/sys/vm/drop_chases」をしてもOperation permittedと出てメモリ解放できません。Ubuntuや権限などよく分かっていないのでどんなコマンドをすればいいか具体的に教えて頂けると助かります。よろしくお願いいたします。
オフライン
物理メモリーはいかほどですか?
メモリーキャッシュはそもそも動作を速くするためのものですので、
手動でクリアーしても逆効果もありえます。
Ubuntuの何の動作が遅いと感じるのでしょうか?
OS起動?
アプリ起動?
操作中引っかかる感じ?
あくまでHW推奨要件を満たしていて、なお俊敏性を求めるなら、
まずはスワップの抑制が定番です。
オフライン
起動とC言語でのプログラムの実行が遅くなっているように感じます。
また、起動する度に「70% used」のような警告?が出るようになりました。
今メモリは3.9Gでそのうち既に3.0G使っています。C言語のプログラムを実行する度にusedが増えていくのですが、もうすぐメモリいっぱいになりそうです。このusedはどうやったら少なくできるのでしょうか?
オフライン
物理メモリー4Gで起動直後に「70% used」のような警告?が出るのは、何か負荷がかかっているのだと思います。
システムの損傷
自動起動バックグラウンドの多過
自動起動アプリの多過
はチェックしましたか。
シンプルな構成だと起動直後は1G前後、キャッシュも1G程度でバランスしているものです(デスクトップ版Ubuntu20や18の場合)
スワップ空間を手配済みで、起動時「70% used」であれば、ディスクへのメモリースワップも既に発生しているものと察します。操作中の引っかかる感じ。
C言語のプログラムを実行する度にusedが増えていくのは、メモリーリークも疑えます。不安定による不要なメモリー解放不能。
とりあえず、スワップの抑制術は下記記事が信頼できますが、可能であればキレイな再インストールから行ったほうが効果が出やすいと思います。
https://easylinuxtipsproject.blogspot.com/p/speed-ubuntu.html#ID1.1
オフライン
mika による投稿:
C言語のプログラムを実行する度にusedが増えていく
この一文だけを見る限りは、C言語のプログラムがメモリ リークを起こしている疑いが強いです。
C言語のプログラムとは具体的に何でしょう。メモリリークを起こさないように改修できませんか。
オフライン
1度Ubuntuを消して再インストールしてみたのですが、全部消したにもかかわらず、total 3.9Gのうち既に3.4G使っていることになっています。
C言語のプログラムとはcernという組織が出しているrootというツールでC言語を使って、原子核同士の衝突を再現するシミュレーションを行っています。
オフライン
>total 3.9Gのうち既に3.4G使っていることになっています
それはcernという組織が出しているrootというツールをインストールする前ですか、後ですか?
Ubuntuはデスクトップ付きですか?
バージョンは?
オフライン
ツールをインストールする前です。
Ubuntu20.04LTSをMicrosoftのstoreからインストールしただけで他は何もしていません。
オフライン
Windows上のUbuntuでしたか...
私もその領域は未知の領域ですので、降板させていただきます。
オフライン
mika による投稿:
buff/cacheが223M
指摘し忘れていましたが、buff/cache は一時的なバッファー/キャッシュをなので容量は適宜増減しますし、空きメモリ容量の一部と認識してもほぼ問題ありません。
オフライン
Windows Subsystem for Linux
興味が湧いたので私も調べてみました。
下記記事にこんな一文を見つけました。
https://ascii.jp/elem/000/001/981/1981180/
>物理メモリ4GBのマシンならば3GBが、8GBのマシンなら6GBが実装メモリとしてWSL2内からは見えている。
mikaさんの状況と合致します。
この上で重量級アプリケーションを使えば、Windowsもその上のUbuntuもパンク気味になるのは想像できます。
記事には調整法の記述もありますが、
物理メモリーの増設が最も簡単な解決策だとは思います。
別に中古PCでも用意して、本物Ubuntuをインストールしてrootというツールを使うが次点です。
余計なお世話になりました。
このフォーラムの範疇から逸脱しそうなので、この辺で失礼します。
オフライン