これは資格取得の際に勉強した時の備忘録です。
Linuxのコマンドの機能の説明と自分の環境での実行結果です。
各コマンドの動作を覚えておく為に記録しました。
環境:Ubntu14.04
クリーンインストール後
ルート権限での実行コマンド(# コマンド)
はDocker上のCentOSイメージで実行
1.1 カーネルのバージョン
2.6以前
開発版:2.X.Y のXが奇数のバージョン
安定版;2.X.Y のXが偶数のバージョン
2.6以降
開発版:2.X.Y.Z
開発版:2.X.Y -rcN または 2.X.Y -gitN 形式
uname:現在稼働しているカーネルのバージョンの確認
uname -a:すべての情報(PC名、カーネルバージョン、OS名、マシンアーキテクチャ)
$ uname -a
Linux keigo-desktop 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:44:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
uname -r:カーネルバージョンの表示
$ uname -r
3.13.0-106-generic
または/proc/versionの閲覧でも確認可能
$ cat /proc/version
Linux version 3.13.0-106-generic (buildd@lcy01-30) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #153-Ubuntu SMP Tue Dec 6 15:44:32 UTC 2016
uname -m:ハードウェアアーキテクチャの確認
$ uname -m
x86_64
あとカーネルソースのMakefileを読みにいくと
バージョン情報なんかが書かれている
$ head -5 /usr/src/linux-headers-3.13.0-106-generic/Makefile
VERSION = 3
PATCHLEVEL = 13
SUBLEVEL = 11
EXTRAVERSION = -ckt39
NAME = King of Alienated Frog Porn
1.1.2 カーネルイメージ
boot配下のvmlinuzで始まるファイルがカーネルイメージ
/boot/vmlinuz*
カーネルをコンパイルするとカーネルイメージが作成出来る
make zImage
make bzImage
のどちらかが作成可能だが
zImageの側はメモリ制限のため大きなサイズのカーネルの作成は不可
$ ls /boot/vmlinuz*
/boot/vmlinuz-3.13.0-106-generic /boot/vmlinuz-3.13.0-24-generic
/boot/vmlinuz-3.13.0-106-generic.efi.signed
1.2.1カーネルモジュール
lsmodコマンド
現在ロードされている全モジュールを一覧表示
$ lsmod
*モジュール名 サイズ 参照回数 依存関係
Module Size Used by
bnep 19624 2
rfcomm 69160 0
bluetooth 391136 10 bnep,rfcomm
binfmt_misc 17468 1
.
.
.
hid 106148 2 hid_generic,usbhid
e1000e 254433 0
ahci 34091 3
psmouse 106692 0
ptp 18933 1 e1000e
libahci 32716 1 ahci
pps_core 19382 1 ptp
/proc/modules内も同様の情報
cat /proc/modules
$ cat /proc/modules
bnep 19624 2 - Live 0x0000000000000000
rfcomm 69160 0 - Live 0x0000000000000000
bluetooth 391136 10 bnep,rfcomm, Live 0x0000000000000000
.
.
.
ptp 18933 1 e1000e, Live 0x0000000000000000
libahci 32716 1 ahci, Live 0x0000000000000000
pps_core 19382 1 ptp, Live 0x0000000000000000
modinfoコマンド
▼オプション
-a :作者と連絡先表示
$ modinfo -a ptp
Richard Cochran <richardcochran@gmail.com>
-d :モジュールの説明表示
$ modinfo -d ptp
PTP clocks support
-l :ライセンス表示
$ modinfo -l ptp
GPL
-n オプション:モジュールファイル名表示
$ modinfo -n ptp
/lib/modules/3.13.0-106-generic/kernel/drivers/ptp/ptp.ko
オプションを省略すればこれらすべての情報を表示
insmodコマンド
▼オプション
-s:syslogに実行結果を出力
--v:詳細情報の表示(この環境ではVersionが出ました)
$ sudo insmod --v /lib/modules/3.13.0-106-generic/kernel/fs/ufs/ufs.ko
$ modinfo ufs
filename: /lib/modules/3.13.0-106-generic/kernel/fs/ufs/ufs.ko
license: GPL
alias: fs-ufs
srcversion: FAFD1F52DABB499EF814014
depends:
intree: Y
vermagic: 3.13.0-106-generic SMP mod_unload modversions
signer: Magrathea: Glacier signing key
sig_key: 0E:C0:33:0E:60:44:45:BD:C9:B2:40:5E:70:02:33:D5:FC:1A:2D:53
rmmodコマンド
▼オプション
-a:未使用のモジュールをすべてアンロード
-s:syslogへ出力
modprobeコマンド
▼オプション
-a, --all:すべてのモジュールをロードする
-c, --showconfig:
カーネルへのパッチ適用
patchコマンド
patch -p1 < patch-2.6.28
bash: patch-2.6.28: No such file or directory
カーネルモジュールとカーネルのインストール
make modules_install
カーネルパラメータの設定
/proc/sys以下のパス
kernel/ctrl-alt-del
kernel/ctrl-alt-del Ctrl+ Alt + Deleteキーの動作の設定
$ cat /proc/sys/net/core/rmem_max
212992
$ cat /proc/sys/net/core/wmem_default
212992
$ cat /proc/sys/net/core/wmem_max
212992
$ sudo sysctl -w net.ipv4.ip_forward=0
net.ipv4.ip_forward = 0
###設定ファイルの参照
$ cat /etc/sysctl.conf
$ sysctl -a
リソース管理とキャパシティプランニング
sarコマンド
sarが使えない場合はインストール
$ sudo apt-get install sysstat
/var/log/sysstat/sa**が開けないエラーが出たら
/etc/default/sysstat内の値をtrueにしてreboot
/var/log/sysstat/sa17 を開けません: そのようなファイルやディレクトリはありません
Please check if data collecting is enabled in /etc/default/sysstat
# Should sadc collect system activity informations? Valid values
# are "true" and "false". Please do not put other values, they
# will be overwritten by debconf!
#ENABLED="false"
ENABLED="true"
これでsarコマンドが使えます。
-Pオプション CPU情報のみ表示
$ sar -P ALL
Linux 3.13.0-106-generic (keigo-desktop) 2017年02月18日 _x86_64_ (8 CPU)
07時50分42秒 LINUX RESTART
07時55分01秒 CPU %user %nice %system %iowait %steal %idle
08時05分01秒 all 1.59 0.12 0.29 0.86 0.00 97.15
08時05分01秒 0 1.78 0.00 0.25 0.14 0.00 97.83
08時05分01秒 1 2.65 0.00 0.33 0.12 0.00 96.91
08時05分01秒 2 1.35 0.00 0.24 0.06 0.00 98.35
08時05分01秒 3 2.39 0.00 0.44 0.08 0.00 97.08
08時05分01秒 4 1.93 0.44 0.28 4.11 0.00 93.24
08時05分01秒 5 0.96 0.16 0.14 0.02 0.00 98.73
08時05分01秒 6 0.93 0.00 0.47 0.32 0.00 98.28
08時05分01秒 7 0.70 0.35 0.17 2.03 0.00 96.75
.
.
.
-bオプション
$ sar -b
Linux 3.13.0-106-generic (keigo-desktop) 2017年02月18日 _x86_64_ (8 CPU)
07時50分42秒 LINUX RESTART
07時55分01秒 tps rtps wtps bread/s bwrtn/s
08時05分01秒 55.25 43.24 12.02 985.77 2830.92
08時15分01秒 4.81 1.30 3.51 78.34 73.81
08時25分01秒 4.97 0.37 4.61 15.71 217.62
08時35分01秒 8.40 2.80 5.60 74.17 275.47
08時45分01秒 7.09 0.55 6.53 41.84 325.28
.
.
.
平均値: 4.55 1.88 2.66 50.81 218.46
-f オプション:
$ sar -f
Linux 3.13.0-106-generic (keigo-desktop) 2017年02月18日 _x86_64_ (8 CPU)
07時50分42秒 LINUX RESTART
07時55分01秒 CPU %user %nice %system %iowait %steal %idle
08時05分01秒 all 1.59 0.12 0.29 0.86 0.00 97.15
08時15分01秒 all 1.60 0.02 0.43 0.16 0.00 97.79
08時25分01秒 all 2.38 0.00 0.51 0.23 0.00 96.88
.
.
.
平均値: all 13.65 0.04 2.05 191179.79 0.00 84.38
CPU
%user:
%nice:
%system:
%iowait:
%steal:
%idle:
$ sar -u
Linux 3.13.0-106-generic (keigo-desktop) 2017年02月18日 _x86_64_ (8 CPU)
07時50分42秒 LINUX RESTART
07時55分01秒 CPU %user %nice %system %iowait %steal %idle
08時05分01秒 all 1.59 0.12 0.29 0.86 0.00 97.15
08時15分01秒 all 1.60 0.02 0.43 0.16 0.00 97.79
08時25分01秒 all 2.38 0.00 0.51 0.23 0.00 96.88
.
.
.
20時35分01秒 all 9.98 0.00 0.89 0.21 0.00 88.93
20時45分01秒 all 2.19 0.00 0.24 0.06 0.00 97.51
20時55分01秒 all 3.94 0.00 0.45 0.08 0.00 95.53
平均値: all 8.46 0.02 1.18 92521.99 0.00 90.35
$ sar -r
Linux 3.13.0-106-generic (keigo-desktop) 2017年02月18日 _x86_64_ (8 CPU)
07時50分42秒 LINUX RESTART
07時55分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
08時05分01秒 5484432 2622228 32.35 167272 1317940 3624608 30.17 1429460 879700 72
08時15分01秒 5031292 3075368 37.94 169000 1346676 4608204 38.36 1894396 827196 140
08時25分01秒 5001540 3105120 38.30 170944 1358244 4684868 39.00 1938496 811484 9284
.
.
.
平均値: 4283051 3823609 47.17 239334 1685801 4629996 38.54 2411249 1024303 1186
vmstat コマンド
メモリ、ディスクIO、CPU,スワップ領域、user,system,idle中のプロセス使用率がチェック出来る
swpd:スワップされた領域
free:物理メモリ
keigo@keigo-desktop:~$ vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 4066652 271004 1846444 0 0 18 38 158 522 4 1 95 0 0
0 0 0 4066148 271004 1846444 0 0 0 0 118 591 1 0 99 0 0
0 0 0 4066440 271004 1846444 0 0 0 132 154 831 1 0 99 0 0
0 0 0 4066192 271004 1846444 0 0 0 0 83 501 1 0 99 0 0
0 0 0 4066368 271004 1846444 0 0 0 0 66 290 0 0 100 0 0
0 0 0 4066544 271004 1846444 0 0 0 0 79 350 0 0 100 0 0
0 0 0 4066396 271004 1846444 0 0 0 0 160 570 1 0 99 0 0
0 0 0 4066448 271008 1846444 0 0 0 188 130 535 0 0 99 1 0
0 0 0 4066540 271008 1846444 0 0 0 0 85 583 0 0 100 0 0
0 0 0 4066696 271008 1846444 0 0 0 0 87 390 0 0 100 0 0
freeコマンド
$ free
total used free shared buffers cached
Mem: 8106660 4441244 3665416 96340 276476 2024732
-/+ buffers/cache: 2140036 5966624
Swap: 3905532 0 3905532
topコマンド
使用率topの順にプロセスを表示
PID:プロセスID
USER
PR
NI
VIRT
RES
SHR
%CPU:CPU使用率
%MEM:メモリ使用率
$ top
top - 21:35:12 up 13:44, 2 users, load average: 0.06, 0.09, 0.17
Tasks: 232 total, 2 running, 230 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.5 us, 0.2 sy, 0.0 ni, 98.0 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 8106660 total, 4439696 used, 3666964 free, 276760 buffers
KiB Swap: 3905532 total, 0 used, 3905532 free. 2024844 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1258 root 20 0 382148 217388 118908 S 4.3 2.7 13:00.92 Xorg
1963 keigo 20 0 1813980 364584 91476 S 3.3 4.5 6:34.06 compiz
2285 keigo 20 0 2469796 1.047g 116324 S 3.0 13.5 65:06.27 firefox
8767 keigo 20 0 515860 33060 22156 S 2.3 0.4 0:51.09 gnome-system-mo
7385 keigo 20 0 578004 22928 13780 S 1.3 0.3 0:11.48 gnome-terminal
swaponコマンド
$ swapon -s
Filename Type Size Used Priority
/dev/sdc3 partition 3905532 0 -1
参考サイト
ping-t