반응형

Linux 10

IO Wait값에 대하여

The precise meaning of I/O wait time in Linux 예전부터 top과 같은 CPU 측정 프로그램에서 보이는 IO Wait값을 'CPU가 디스크 IO를 대기하고 있는 값' 이라고만 생각했고 세부사항에 대해 크게 신경쓰지 않았는데 내가 생각하지 못한 수치에 대한 실험까지 포함해서 제대로 설명된 링크. +)로 디스크에 대한 실험을 진행하면서 dstat을 통해 전체 디스크 사용량 및 IO Wait값만을 저장해놨는데 글들을 보다보니 iostat 유틸을 까먹고 있었다. IO Wait값만이 아니라 더 세부적인 데이터를 얻을 수 있을 것 같다.

Programming/Linux 2016.01.06

[Android]CPU의 가능한 Hz, mode와 현재 상태 구하기

Android에서 CPU와 관련된 내용들을 얻는 것은 Linux에 의존하게 된다. (아님 그냥 내가 못 찾은 것. -_-;) Linux에서 CPU에 대한 정보는 /sys/device/system/cpu에서 구할 수 있다. 그 중 우리가 원하는 CPU의 현재 Hz와 Mode, 사용 가능한 Hz와 Mode에 관한 정보는 /sys/……/cpu/[cpu number]/cpufreq 폴더에 존재한다. CPU가 single core라면 CPU0만 존재하고 dual 이상이라면 CPU0, CPU1… 이런 식으로 늘어난다. 현재의 평범한 multi core system이라면 CPU숫자와 상관 없이 CPU에 대한 동일한 정보를 얻어올 수 있지만 차후 big.LITTLE 기능이 적용된다면 코어마다 다를 수도 있을 것 같다...

Programming/기타 2013.03.11

[Android]어플리케이션이 내부 미디어플레이어를 이용할 때 네트워크 사용량 측정법?

안드로이드의 YouTube 어플리케이션이나 웹 브라우저를 사용해서 동영상을 봐도 YouTube나 웹 브라우저의 네트워크 통계에는 적용되지 않는 것을 볼 수 있다. 이는 YouTube나 웹 브라우저가 자기 자신이 아닌 내부의 미디어 플레이어를 이용해서 동영상을 틀어주기 때문이다. 실제 동영상 스트리밍 서비스까지 구현을 해본 적이 없어서 이런 것이 어떠한 방식으로 진행이 되는지 감도 못 잡고 삽질만 하다가 드디어 조금은 실마리를 잡은 것 같다. /proc/net/tcp 파일을 cat 등으로 읽으면 다음과 같은 결과를 얻을 수 있다. /proc/net/tcp에 대한 자세한 정보는 이 곳 에서 /proc/net/tcp로 찾으면 확인할 수 있다. 간단히 말하면 TCP socket의 현재 내용을 dump하는 곳이다..

Programming/기타 2013.03.09

/proc/stat, /proc/[pid]/stat 설명

/proc/stat 그림 1 Android /proc/stat 명령어: cat /proc/stat 나오는 결과는 컴퓨터 기동 이후의 누적 시간이므로 usage를 나타내기 위해서는 일정 간격을 두고 측정해야 한다. /proc/stat 호출 시의 형식 Cpu user system nice idle wait hi si zero CPU: CPU core의 숫자. User: user mode에서의 실행 시간 System: system mode에서의 실행 시간 Nice: 낮은 권한의 user mode에서의 실행 시간 Idle: I/O완료가 아닌 대기 시 Wait: I/O 완료 대기 시간 Hi: Hard Interrupt(IRQ) Si: Soft Interrupt(SoftIRQ) Zero: 끝 그림 2 multi-c..

Programming/Linux 2013.03.06

Kimberlize

주소: cmusatyalab / kimberley Kimberlize system은 사용자에게 사전의 설치 없이 application을 실행할 수 있는 기능을 VM 기술을 통해 제공한다. 요구되는 application이 돌아가는 VM은 다른 machine이 미래에 사용될 것이라 예상될 때 사용자에 의해 미리 만들어 진다. Runtime은 target machine에서 즉시 조립되고 resume 된다. 우리는 the VirtualBox VM monitor를 가상화 platform으로 사용하도록 선택했다. VirtualBox는 최근 Sun Microsystems가 구매한 독일 소프트웨어 회사 Innotek의 open-source 가상화 제품이다. 10기가 이상의 VM 상태를 runtime에 전송하는 것은 아..

Programming 2013.02.27

Kimberley

Kimberley: 고정된 infrastructure를 일시적으로 모바일 기기가 사용할 수 있게 해주는 목적의 시스템. 주소: cmusatyalab / kimberley Kimberley는 kimberlize와 display control manager(KCM)을 사용하여 mobile device가 큰 화면에서 application을 실행할 수 있도록 해준다. System Usage 전형적인 Kimberley system의 사용방법: 관리자는 base VM과 하나 이상의 kimberlize patch를 제작하기 위해 kimberlize tool을 사용한다. 관리자는 몇 개의 display를 설치하고 display에 base VM을 배분한다. 그 machine들 위에 서 Kimberley service를 ..

Programming 2013.02.26

Kubuntu 12.04 설치 중 사소한 문제점

Compaq CQ57번대 기종 사용 중입니다 큰 문제점은 아니고 wubi로 설치를 했는데 설치 화면이 나오지 않습니다. 화면의 갱신이 없을 뿐이지 실제로 설치는 진행 중이라서 기다리기만 하시면 설치가 됩니다. 아마 이전부터 있던 Radeon 그래픽카드 모델들의 문제점이라 생각합니다. 혹은 Intel 그래픽 카드와 약간의 충돌을 일으켰을 수도 있겠네요. 혹시 Kubuntu를 wubi를 이용해서 설치했을 시 설치 화면에서 마우스는 움직이는데 화면 갱신이 안되시는 분들은 10~20분 정도 기다려 보시길 바랍니다. 그리고 가급적 해당 증상이 일어난다면 랜선을 제거하시고 설치하기를 추천합니다. kaist mirror가 속도가 낮을때가 많다보니 보이지도 않는데 되는지 안되는지 확인하는거 보다 설치하신 후 다음 미러..

Programming/Linux 2012.05.15

ARToolKit 설치 (Windows, Linux)

Windows (7 기준) == 설치 파일 == * ARToolKit * GLUT * 기타DLL == 설치파일 셋업 == 1. ARToolKit 압축 해제 후 Configure.win32 실행 2. GLUT 파일들 glut32.dll -> C:\WINDOWS\system32 복사 glut.h -> 사용중인 플랫폼에 include폴더에 복사 glut32.lib -> 사용중인 플랫폼에 lib폴더에 복사 3. 해당 DLL파일을 C:\WINDOWS\system32 복사DSVL.dll DSVLd.dll libARvideo.dll libARvideod.dll -> ARToolkit 폴더에 있으니 검색 활용. msvcp71d.dll msvcr71d.dll -> 기타DLL 사이트에서 다운로드 == 폴더 추가 == Vi..

Programming/Linux 2011.04.01

[C/C++]Linux 시스템콜을 이용한 TCP/IP 프로그래밍 기초

= TCP/IP 소켓 관련 시스템콜 = struct sockaddr_in { short int sin_family; /* Address family */ unsigned short int sin_port; /* Port number */ struct in_addr sin_addr; /* Internet address */ unsigned char sin_zero[8]; /* Same size as struct sockaddr */ }; -> 실제로 사용하게 되는 구조체. 꼭 기억하자! // htons()--"Host to Network Short" // htonl()--"Host to Network Long" // ntohs()--"Network to Host Short" // ntohl()--"Netw..

Programming 2010.08.28
반응형