iTunes画面がでない場合の対処法
iTunesを最小化して元に戻そうとしても、ウィンドウ(画面)がディスプレイに表示されなくなってしまうことがあります。
バージョン11からかと思いますが、そんな時の対処法をまとめます。
そもそも
iTunesのウィンドウは、表示されていることになっていると思います。でも、下の画像のように、ディスプレイには表示されていないと思います。
極端に言えば、下の画像のような症状に近いと思います。
orz…。これじゃあ、停止できなくなっちゃって、電波ソング垂れ流しだおー。
対処法
ウィンドウを移動しましょう。
ウィンドウの移動
ウィンドウは、ウィンドウのメニューの[移動]を選択すると、カーソルキーやマウスで移動することができます。
暴走したノートンのサービスを停止させる
ノートンは、他のアンチウィルスソフトより軽いし、メジャーだから使っています。*1
そんなノートンのサービスが暴走し、重くなってしまった時のサービス停止方法をまとめます。
そもそも
通常は、暴走したプロセスはタスクマネージャから停止させます。しかし、Nortonのサービスについてはどうしてかそれができません。下手順にあるように、Norton製品の改変対策でできないんじゃないかなっと思います。
ノートンのサービス
- Symantec Service Framework
- ccsvchst.exe
- C:\Program Files (x86)\Norton AntiVirus\Engine\19.8.0.14
手順
ノートンのダイアログを開きます。インジケーターが隠れていると思うので、表示させて、右クリックをして、「Norton AntiVirusを開く」をクリックします。
ノートンの設定ダイアログで、上タブ[一般]をクリックし、右メニューの[製品セキュリティ]をクリックして、Norton製品の改変対策をオフにします。
セキュリティ要求ダイアログは、とりあえず15分でいいでしょう。
次にタスクバー(ウインドウボタン横のバー)でアイコンがない部分を右クリックし、「タスク マネージャーの起動」でWindows タスクマネージャーを起動します
[プロセス]タブで、[すべてのユーザーのプロセスを表示]ボタンをクリックします。
ユーザー名がSYSTEM、イメージ名がccsvchst.exeを選択し、[プロセスの終了]ボタンをクリックします。
※これでノートンのサービスがすべて停止します。
スタートメニューから、Norton AntiVirusを起動します。
*1:他に軽くてメジャーな奴あったら教えてー
Hyper-VにCentOS6.2
CentOS6.2 x64をHyper-Vにインストールする方法をまとめます。といっても、自分メモ程度。次回自身がインストールするときに困らない程度にまとめます。
Before After
現在、kanaharu.comネットワーク内には、常時稼働なサーバーが2台あります
このうちAtomのhttpd鯖を、Windows2008のHyper-V内に移して、鯖を1台にまとめたい!というのが事の発端です。
Hyper-V設定
ネットワークな設定のみ注意する。あとはお好みでOK?
ネットワークの設定をする場合は、レガシーなネットワークアダプタではなく、通常のネットワークアダプタがよさげ。理由ははっきり言えないけど、結局Hyper-V統合サービスをインストールすること、自分の環境ではレガシーではない方でインターネットにアクセスできたことです。わざわざレガシーを使う必要はないと思うけど、レガシーじゃインターネットにアクセスできない理由ってなんだろう?
CentOSのインストール
簡単。クリックだけで済む。
ちなみに、かなはる的にはサービスだけのための鯖にXはいらないと思うので、X-Windowはインストールしません!
CentOSのセットアップ
1.Hyper-V統合サービスRPMを入れます
なぜか、オートマウントが利かないので(フルインストールで利くのかなあ?)、レガシーな方法でマウントします
mkdir /media/dvd
mount /dev/dev /media/dvd
cd /dvd/support/amd64/ja-jp/
./XXX.sh
umount /media/dvd/
2.ネットワーク設定
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-script
を設定する
3.ネットワーク再起動
/etc/rc.d/init.d/network restart
たぶん、こんな感じで上手くいくと思う
処理時間を計測する
ちょっと画像処理とかもやってみたいんだよね。
いくら正確に動作するプログラムが書けても、処理速度が使い物にならないほど遅くてはダメです。そんな時はプログラムを見直して最適化を図る訳ですが、改善前後の指標がないと意味がないです。*1この指標は、処理時間だったりCPUのクロックカウント数だったりします。
ということで、ちょっとプログラムを書いてみました。後者のCPUのクロックカウント数を調べる方で。
概要
処理時間をCPUのクロックカウント数から割り出すプログラム。
TimeStampCounter.hpp
#ifndef __TIME_STAMP_COUNTER_HPP__ #define __TIME_STAMP_COUNTER_HPP__ class TimeStampCounter { public: TimeStampCounter(); void start(); unsigned long long end(); private: unsigned long long time_; }; #endif // __TIME_STAMP_COUNTER_HPP__
TimeStampCounter.cpp
#include <cstddef> #include "TimeStampCounter.hpp" const std::size_t AVE_TIMES = 100; #ifdef _WIN32 #include <intrin.h> int CPUInfo[4]; #else #define RDTSC(X) \ do { \ __asm__ __volatile__ ("cpuid" : : : "rax", "rbx", "rcx", "rdx"); \ __asm__ __volatile__ ( \ "rdtsc\n\t" \ "shlq $32, %%rdx\n\t" \ "orq %%rdx, %%rax\n\t" \ "movq %%rax, %0" : "=g" (X) : : "rax", "rdx"); \ } while (0) #endif static unsigned long long getTime() { #ifdef _WIN32 __cpuid(CPUInfo,1); return __rdtsc(); #else unsigned long long ret; RDTSC(ret); return ret; #endif } TimeStampCounter::TimeStampCounter() : time_(getTime()) { } void TimeStampCounter::start() { time_ = getTime(); } unsigned long long TimeStampCounter::end() { unsigned long long now = getTime(); return now > time_ ? now - time_ : 0; }
CPUのクロック周波数計測
Sleepの精度とかはちょっと置いておいて、CPUのクロック周波数を調べたい場合は、1秒間スリープさせます。
#include <cstdio> #include "TimeStampCounter.hpp" #ifdef _WIN32 #include <Windows.h> #pragma comment (lib, "TimeStampCounter.lib") #else #include <sys/unistd.h> #endif int main(int argc, char** argv) { TimeStampCounter counter; counter.start(); #ifdef _WIN32 Sleep(1000); #else sleep(1); #endif unsigned long long hz = counter.end(); printf("CPU frequency : %lld Hz\n", hz); }