シュガーラッシュとITの世界
早速見てきました。2D吹き替えで。
ITの世界
一緒に見た息子たちは意識していないかもしれないですが、IPアドレス、ハッカー、ウイルス感染、アフェリエイト広告、ブラウザでの検索、バグなどが映画の中で映像として表現されていて、なるほどな~と感心して観ていました。
レースシーン
子供たちはカーレースを期待していたのですが、そのシーンもたくさんありました。 しかも1話目のシュガーラッシュのレースの世界よりも断然かっこいいレースシーンで満足だったようです。
新しい環境と平凡な幸せ
ストーリーとしては、好奇心旺盛なレーサーのヴァネロペが好きなことを見つけていくのに対して、ヴァネロペと楽しい決まった毎日を過ごすことが一番の幸せと思っている親友ラルフの葛藤の物語。
平凡な幸せをずっと味わいたい気持ちも分かるし、同じ環境で過ごし続けることに飽きる気持ちもよく分かる。 ヴァネロペは新しい世界に進むのですが、そうすると周りの状況も変わってくるという結末。 同じ環境で過ごし続けることは悪くないけど、成長はいつか止まってしまう。それを続けると最終的には悪くなるということかな。
私は年齢は関係なく、現状を満喫しつつ、新しい環境に進んでいきたいと思います。
映画「シュガー・ラッシュ:オンライン」の感想 #シュガラお題
sponsored by 映画「シュガー・ラッシュ:オンライン」(12月21日公開)
CentOSに違うバージョンのJDKを追加してみる
メモ:既にJavaがインストールされているLinuxに別バージョンのJavaをインストールしてみる
環境確認
# Linuxの確認 [root]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # Javaの確認 [root]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode) -->既にJava1.8がインストールされてる
Java1.9を入手して、サーバにアップロード
RPMをダウンロードする
Java1.9をインストール
[root]# cd /tmp/ [root]# rpm -ivh jdk-9.0.4_linux-x64_bin.rpm
LinuxはどっちのバージョンのJavaを見ているか
[root]# java -version
Javaのバージョンの向きを変更する
# 「+」が付いているのは現在向いているJavaのバージョン [root]# alternatives --config java 2 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- + 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre/bin/java) * 2 /usr/java/jdk-9.0.4/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: 2 [Enter] [root] # java -version java version "9.0.4" Java(TM) SE Runtime Environment (build 9.0.4+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode) -->向いているJavaのバージョンが変更された
Linux OS起動時に特定のプロセスを自動起動する方法
メモ:Linux OSを再起動したら特定のプロセスも自動起動してほしいとお客様の要望を受けて…のメモ
Linux OS起動時に、特定のプロセスを自動起動する設定手順
1. 起動スクリプトをサーバに配置する
特定のプロセスを起動するスクリプトを用意して、対象サーバに配置
# /tmp/配下に配置例 [root] ls -la /tmp/
2. スクリプトを/etc/init.dに配置する
[root] cp -p /tmp/<スクリプト> /etc/init.d/ [root] chkconfig --add <スクリプト> [root] chkconfig --list -->スクリプトが/etc/init.d/に配置されたことを確認する
3. Linux OSの動作モード(ランレベル)を設定する
[root] chkconfig <スクリプト> on [root] chkconfig --list -->ランレベル2~5がonになったことを確認する
4. スクリプトで特定プロセスが起動することを確認する
5. スクリプトをLinux OS起動時に自動的に実行されるコマンドとして設定
[root] vi /etc/rc.local -->下記を追加する ./<スクリプト> start
6. Linux OS起動時に対象のプロセスが起動することを確認する
[補足] スクリプトを/etc/init.d/配下から削除する場合
[root] chkconfig --del <スクリプト> [root] chkconfig --list -->スクリプトが/etc/init.d/にないことを確認する
STATSPACK
メモ:STATSPACKの使用でSTASPACK用の表領域が増加していたので、STATSPACKの基本的なことを知るメモ
STATSPACKとは
- 「 スタッツパック」と読みます。
- Oracle8iリリースから使用できるパフォーマンス診断ツールです。
- Oracleの性能情報を確認できるので、障害時やチューニングに役立ちます。
STATSPACKの使用方法
- STATSPACKはインストールが必要です。
- 今回の環境は「Windows版のOracle12.1.0.2」です。
- STATSPACKのインストールで使用するSQLは、$ORACLE_HOME\RDBMS\ADMIN配下にあります。
1. STATSPACK用の表領域を作る
$ sqlplus / as sysdba SQL> CREATE TABLESPACE STATSPACK DATAFILE 'C:\app\statspack' SIZE 100M AUTOEXTEND ON SEGMENT SPACE MANAGEMENT AUTO;
2. STATSPACKのインストール
STATSPACKのインストールSQLを流した後、対話式になります。
SQL> @C:\app\Administrator\product\12.1.0\dbhome_1\RDBMS\ADMIN\spcreate.sql perfstat_password: perfstat default_tablespace: STATSPACK temporary_tablespace: TEMP
3. スナップショットを自動で収集する設定
デフォルトは1時間ごとに収集します。
このままだとSTATSPACK表領域のサイズが増加し続けるので、スナップショットを削除する設定も忘れないようにします。
$ sqlplus perfstat/perfstat SQL> @C:\app\Administrator\product\12.1.0\dbhome_1\RDBMS\ADMIN\spauto.sql
スナップショット自動設定の確認をします。
SQL> select interval,what from dba_jobs; INTERVAL ----------------------------------------------------- WHAT ----------------------------------------------------- trunc(SYSDATE+1/24,'HH') statspack.snap;
4. スナップショットの収集間隔を変更
デフォルト1時間ごとから30分単位に変更します。
$ sqlplus perfstat/perfstat SQL> execute dbms_job.interval(1, 'SYSDATE+(1/48)');
変更内容を確認します。
$ sqlplus / as sysdba SQL> select interval,what from dba_jobs; INTERVAL --------------------------------------------------- WHAT --------------------------------------------------- SYSDATE+(1/48) statspack.snap;
5.スナップショットのレベルを変更する
デフォルトはレベル5です。 レベル5から7に変更します。
$ sqlplus perfstat/perfstat SQL> exec statspack.modify_statspack_parameter (i_snap_level=>7) SQL> select snap_level from stats$statspack_parameter;
6. レポートを出力してみる
収集したスナップショットをレポートに出力します。
$ sqlplus perfstat/perfstat SQL> @C:\app\Administrator\product\12.1.0\dbhome_1\RDBMS\ADMIN\spreport.sql Listing all Completed Snapshots Snap Instance DB Name Snap Id Snap Started Level Comment ------------ ------------ --------- ----------------- ----- ------------------- orautf8 ORAUTF8 1 06 11月 2018 14:0 5 0 2 06 11月 2018 15:0 5 0 Specify the Begin and End Snapshot Ids ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ begin_snapに値を入力してください: 1 Begin Snapshot Id specified: 1 end_snapに値を入力してください: 2 End Snapshot Id specified: 2 Specify the Report Name ~~~~~~~~~~~~~~~~~~~~~~~ The default report file name is sp_1_2. To use this name, press <return> to continue, otherwise enter an alternative. report_nameに値を入力してください: [Enter] ============================== データがたくさん表示 ============================== End of Report ( sp_1_2.lst ) ←レポートが¥「sp_1_2.lst」が作成された SQL>
作成されたファイルはカレントディレクトリで確認
7. スナップショットの自動収集を停止する方法
自動収集のジョブを削除します。
# ジョブ番号を確認する sqlplus perfstat/perfstat SQL> select job, what from dba_jobs; JOB WHAT 1 ---- ------------------------------ statspack.snap; # 確認したジョブ番号を削除する SQL> execute dbms_job.remove(ジョブ番号); # 削除したジョブが表示されないことを確認する $ sqlplus perfstat/perfstat SQL> select interval,what from dba_jobs;
8. スナップショットの削除方法
スナップショットを持ち続けるとSTATSPACK表領域が増加し続けます。削除方法は何通りかあります。
- 日付を指定して削除する
8日より前のスナップショットを削除します
$ sqlplus perfstat/perfstat SQL> exec statspack.purge(8);
- 全てのスナップショットを削除
$ sqlplus perfstat/perfstat SQL> @C:\app\Administrator\product\12.1.0\dbhome_1\RDBMS\ADMIN\sptrunc.sql
- 自動でスナップショットを削除する設定
DBMS.JOBSに「statspack.purge(1)」プロシージャを登録する
SUBMIT( ジョブ番号, PLSQLプロシージャ名, 次回実行日付, 実行間隔 );
# 即時実行して、1日ごとに1日より前のスナップショットを削除する $ sqlplus perfstat/perfstat SQL> DECLARE JOB_NO binary_integer; BEGIN DBMS_JOB.SUBMIT(JOB_NO,'statspack.purge(1);',INTERVAL=>'sysdate+1'); COMMIT; END; /
もう少し勉強したら追加。きっと明日には。
9. STATSPACKのアンインストール
$ sqlplus / as sysdba SQL> @C:\app\Administrator\product\12.1.0\dbhome_1\RDBMS\ADMIN\spdrop.sql
AES
メモ:暗号化は難しい…製品の仕様に出てきたので触りを調べたメモ。
AESとは?
- Advanced Encryption Standardの略。
- 2001年から、DESに代わるアメリカの共通鍵暗号の規格。
- ブロック長は128ビット固定、鍵長は128ビット、192ビット、256ビットが利用可能。
- AESの元となった方式は、鍵長やブロック長が可変。
DES
- Data Encryption Standardの略。
- 1976年に採用された、共通鍵暗号の規格。
- 鍵長が56ビットと短く、現在は安全ではないと見られている。
DESの後継となる共通鍵ブロック暗号の公募要件
21方式の応募 → 公募要件を満たした15方式を評価 → 最終候補として5方式 → 採用
AESの暗号化の方法
- 鍵生成を行う
- SubBytes:換字表(Sボックス)による1バイト単位の変換
- ShiftRows:4バイト単位の行を一定規則で左シフト
- MixColumns:ビット演算による4バイト単位の行列変換
- AddRoundKey:ラウンド鍵とのXORをとる
- 2~5を1ラウンドとして暗号化を行う(暗号の鍵長によって変換のラウンド数[※1]が異なる)
2~5の処理がいまいち分からず。ゆくゆく調べます。
[※1]ラウンド数
- 鍵長128ビット:ラウンド数10回
- 鍵長192ビット:ラウンド数12回
- 鍵長256ビット:ラウンド数14回
※複合は、2~3を逆変換を逆順でする。
初心者にはこれが良さそうです。
プロセスメモリの使用量
メモ:Linuxで、2つのアプリケーションを同居する場合に、正常動作する仕様か?を調査した時のメモ
確認したのは下記2点。このページはメモリについて書きました。
- メモリが足りるか?
- プロセス名やポートがぶつからないか?
特定のプロセスのメモリ使用量の確認
アプリケーションのプロセスのメモリ使用量を調べます。
ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 58572 19024 ? Ss 4月13 10:14 /usr/lib/systemd/systemd --switched-root --system - <--全てのプロセスが表示されるので長い--> 上記のプロセス(PID=1)では、仮想メモリサイズ「58572KB」、物理メモリサイズ「19024KB」と読める。 # 特定のプロセスメモリを確認する場合 ps aux | grep [プロセス名]
そもそも「aux」って?
auxはpsコマンドのオプションを3つ合わせたもの。
- a:端末操作のプロセスを表示する
- u:CPUやメモリの使用率などを表示する
- x:端末操作以外のプロセスを表示する
auxで確認できる項目
auxでプロセスの何が確認できるのでしょうか?
項目 | 説明 | 備考 |
---|---|---|
USER | プロセスを所有しているユーザ名 | |
PID | 一意のプロセスID | |
%CPU | プロセスのCPU使用率(%) | プロセスの実行時間 / CPU使用時間 |
%MEM | プロセスが確保している物理メモリ量 | |
VSZ | 仮想メモリサイズ(KB) | |
RSS | 使用中の物理メモリサイズ(KB) | |
TTY | 制御端末の種類及び番号 | |
STAT | プロセスのステータス | S:割り込み可能なスリープ状態 s:セッションリーダ D:割り込み不可能なスリープ状態 R:実行可能状態(待ち状態) O:実行中 I:プロセス生成中 Z:親プロセスとの関係が切れた状態(ゾンビプロセス) N:優先度低い >:優先度高い +:フォアグラウンドのプロセスグループに入っている T:停止中 |
START | プロセスを起動した時間 | |
TIME | 累積したCPU時間 | プロセスが使用した全CPU時間 + プロセスのためにカーネルが使用した全CPU時間 |
COMMAND | プロセスのコマンド名 |
VSZとRSSの違いがはっきりしない・・・
この違いを理解するには、下記URLが良さそうです。
Linux/メモリ確保とVSZとRSS - discypus
プロセスのVSZ,RSSとfree,meminfoを実機で確認 - のぴぴのメモ
PostgreSQLプロセスのメモリ使用量の確認
このアプリケーションはpostgreSQLを使用しているのですが、メモリ使用量の確認で留意点がありました。 別途、まとめます。
Windows イベント
個人メモ:製品検証で、Windowsイベントエラーを検知して、アラート通知できるか確認した時のメモ
Windowsイベントとは?
- Windowsが起動すると、システム、セキュリティ、アプリケーションなどが動作します。
- Windowsが起動すると、上記イベント(動作)ログの収集を自動的に開始します。
- イベントログでは、ログレベル(ノーマル・エラー・ワーニング)が分かります。
イベントログの種類
- システムログ(Windows自身の動作ログ)
- アプリケーション(Windows上で動作するアプリケーションソフトの動作ログ)
- セキュリティ(セキュリティ監査ログ)
- Setup(セットアップ関連の情報)
参考URL:https://msdn.microsoft.com/ja-jp/library/cc338067.aspx
Windowsイベントログの確認方法
- Windowsが自動で収集したイベントログは、イベントビューアーで確認できます。
- Windowsの[コントロールパネル]-[システムとセキュリティ]-[管理ツール]-[イベントビューアー]で確認します。
Windowsログで確認できる項目
- Application
- セキュリティ
- SetUp
- システム
- 転送されたイベント
Windowsイベントエラーの発生方法
簡単なのは、コマンドプロンプトでEVENTCREATEコマンドを実行する方法です。
EVENTCREATE /ID 900 /L application /SO app_test /T WARNING /D "WARNINGイベントのログテストです。" EVENTCREATE /ID 901 /L application /SO app_test /T ERROR /D "ERRORイベントのログテストです。" EVENTCREATE /ID 902 /L application /SO app_test /T INFORMATION /D "INFORMATIONイベントのログテストです。"
イベントビューアーを確認します。
イベントビューアーの読み方
イベントログには属性があります。
属性 | 説明 | 値 |
---|---|---|
ログの名前 | イベントログの種類 | Application |
イベントID | イベントログを発生したイベントID | 901 |
ソース | イベントログの発生元 | app_test |
レベル | イベントログのレベル | エラー |