Open9
Linux
screen
ssh接続した先のサーバーで、何らかの処理を長時間実行する
# セッションを確認
screen -ls
# 新規screenを作る、セッションに名前をつける
screen -S hoge
# アタッチ
screen -r hoge
# セッション内か確認
echo $STY
[ -z "$STY" ] && echo "Not in a screen session" || echo "In a screen session"
# セッションを停止
screen -X -S hoge quit
# すべてのセッションを停止
# セッション内で、kill
Ctrl + a, k
# セッション内で、抜ける
Ctrl + a, d
#!/bin/bash
# セッション外での処理
echo "This is executed outside of the screen session"
sleep 2
# screenセッションを作成し、その中で処理を実行し、出力をファイルにリダイレクト
screen -dmS mysession bash -c '
echo "This is executed inside the screen session" > screen_output.log;
sleep 5;
echo "Screen session task completed" >> screen_output.log;
'
# セッション外での追加の処理
echo "Back to processing outside of the screen session"
sleep 2
# セッションの終了確認
echo "All tasks completed, both inside and outside of the screen session"
# 結果の確認
echo "Contents of screen_output.log:"
cat screen_output.log
df
# ストレージの容量確認
df -h
dmesg
カーネルが出力したメッセージを表示することで、予期せず終了したプロセスの終了原因を探る
ストレージの容量確認
df -hT
ディレクトリの容量確認
du -sh ~/*
メモリの確認
free -h
ps
コマンド(hoge)を600秒間隔で実行
watch -n 600 hoge
history
/home/ubuntu/.bash_history
キャッシュの解放を確認
メモリのキャッシュがどのくらい使われているかを確認するために、まず以下のコマンドで現在のメモリ状態を確認します。
free -h
キャッシュの解放
キャッシュを解放するには、echoコマンドを使って特定の値を /proc/sys/vm/drop_caches に書き込みます。キャッシュ解放の3つのオプションがあります。
ページキャッシュのみを解放
sudo sync
echo 1 | sudo tee /proc/sys/vm/drop_caches
ディレクトリエントリやinodeのキャッシュを解放
sudo sync
echo 2 | sudo tee /proc/sys/vm/drop_caches
ページキャッシュ、ディレクトリエントリ、inodeキャッシュをすべて解放
sudo sync
echo 3 | sudo tee /proc/sys/vm/drop_caches
whoami
pwd
hostname