https://wiki.archlinux.org/index.php/Improving_performance/Boot_process


qt fast boot 

'리눅스커널' 카테고리의 다른 글

[Linux] drop caches  (0) 2018.03.20
udev  (0) 2017.03.15
[gcc] floating point ABI 에 대해서  (0) 2017.03.14
rootfs  (0) 2016.11.15
DTB (비글본)  (0) 2016.09.20



리눅스 메모리 비우기


  • pagecache 해제

#!/bin/bash

sync
echo 1 > /proc/sys/vm/drop_caches
echo "Drop Cache"


systemd Service 


 [Unit]

Description=[Drop Cache] 


[Service]

Type=idle

User=root

ExecStart=/home/root/drop_caches.sh

Restart=always

RestartSec=1min

[Install]

WantedBy=multi-user.target




  • dentries, inodes 해제
  • pagecache, dentries, inodes 모두 해제
  • 플러싱

1. Page Cache 란?
 Linux 는 I/O 성능을 높이기 위해 Page Cache 를 사용한다. 
 물리적인 저장/통신 장치와 데이터를 주고 받을 때 메모리에 먼저 적제한 후에 데이터를 주고 받는데, 동일한 데이터에 대해 접근 할 경우 메모리에서 바로 가져오도록 하여 I/O 성능을 높이기 위함이다. 이를 Page 단위로 관리하여 흔히 Page Cache 라고 한다.
 한번이라도 데이터를 읽거나 쓴 적이 있다면 메모리는 Page Cache 에 적재되고 

drop_caches 는 non destructive operation 이기 때문에 자주써도 손실이 발생하지 않는다.
캐쉬 메모리중 write buffer 라는 파일쓰기 대기버퍼(dirty cache 라고함) , 이러한 것들은 drop_cache 로 사라지지 않는다.
sync 명령어는 이러한 write buffer 내용을 디스크에 쓰고 drop 할수 있는 cache 로 바꾼다.

참고 : https://blog.lael.be/post/1090


2. vfs_cache_pressure

vfs_cache_pressure


참고
제타위키 : 리눅스 캐시 메모리 비우기 : https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%BA%90%EC%8B%9C_%EB%A9%94%EB%AA%A8%EB%A6%AC_%EB%B9%84%EC%9A%B0%EA%B8%B0


리눅스의 페이지 캐시와 버퍼 캐시: https://brunch.co.kr/@alden/25


https://brunch.co.kr/@alden/14

'리눅스커널' 카테고리의 다른 글

[Linux]Improving performance/Boot process  (0) 2018.10.03
udev  (0) 2017.03.15
[gcc] floating point ABI 에 대해서  (0) 2017.03.14
rootfs  (0) 2016.11.15
DTB (비글본)  (0) 2016.09.20

링크


https://brunch.co.kr/@kd4/3


읽어볼만한 글 Thread [필수]


POSIX Thread Programming

'리눅스커널 > 링크' 카테고리의 다른 글

커널스터디 참고 링크  (0) 2017.04.16
fastboot  (0) 2016.10.20
gpt fdisk  (0) 2016.09.22
adb, fastboot 설치  (0) 2016.09.22
MBR 디스크와 GPT 디스크  (0) 2016.09.22

The four elements of embedded Linux


* Toolchain : 타겟 디바이스에 대한 바이너리 코드를 생성해주는 컴파일러

 타겟 시스템에서 동작하는 프로그램 개발에 필ㅇ한 호스트 시스템의 소프트웨어들 또는 개발환경을 말한다.


* Bootloader : 보드에 필수 초기화 코드 및 리눅스커널을 로딩한다.

* Kernel

* Root filesystem



바이너리 내부 사용 라이브러리 검색 


$ arm-telechips-linux-gnueabi-readelf -a MediaManager | grep "Shared library"


 0x00000001 (NEEDED)                     Shared library: [libcommunicator.so.1]

 0x00000001 (NEEDED)                     Shared library: [libQDltRegistration.so.1]

 0x00000001 (NEEDED)                     Shared library: [libCommonAPI.so.3]

 0x00000001 (NEEDED)                     Shared library: [libCommonAPI-DBus.so.3]

 0x00000001 (NEEDED)                     Shared library: [libdlt.so.2]

 0x00000001 (NEEDED)                     Shared library: [libffmpegthumbnailer.so.4]

 0x00000001 (NEEDED)                     Shared library: [libgstpbutils-1.0.so.0]

 0x00000001 (NEEDED)                     Shared library: [libgstreamer-1.0.so.0]

 0x00000001 (NEEDED)                     Shared library: [libgobject-2.0.so.0]

 0x00000001 (NEEDED)                     Shared library: [libglib-2.0.so.0]

 0x00000001 (NEEDED)                     Shared library: [libQt5MultimediaWidgets.so.5]

 0x00000001 (NEEDED)                     Shared library: [libQt5Multimedia.so.5]

 0x00000001 (NEEDED)                     Shared library: [libQt5Widgets.so.5]

 0x00000001 (NEEDED)                     Shared library: [libQt5Gui.so.5]

 0x00000001 (NEEDED)                     Shared library: [libQt5Sql.so.5]

 0x00000001 (NEEDED)                     Shared library: [libQt5Core.so.5]

 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]

 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]

 0x00000001 (NEEDED)                     Shared library: [libm.so.6]

 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]

 0x00000001 (NEEDED)                     Shared library: [libc.so.6]



$ arm-telechips-linux-gnueabi-readelf -a MediaManager | grep "program interpreter"

      [Requesting program interpreter: /lib/ld-linux.so.3]






참고

Mastering Embedded Linux Programming - 

'리눅스커널 > 정리' 카테고리의 다른 글

mkbooting  (0) 2016.09.22

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/power/supply/bq2415x_charger.c



드라이버 링크

'리눅스커널 > Device Driver' 카테고리의 다른 글

USB 인사이드 muosys.egloos.com  (0) 2016.05.16
PS/2 키보드 LED제어  (0) 2015.05.13
문자디바이스 드라이버와 file_operations  (0) 2015.05.12
IOCTL  (0) 2015.05.12
디바이스드라이버기초정리  (0) 2015.05.11

문c 블로그 : http://jake.dothome.co.kr/2015/07/

            DTB (of API) : http://jake.dothome.co.kr/dtb-of-api/

'리눅스커널 > 링크' 카테고리의 다른 글

Process 와 Thread  (0) 2017.11.18
fastboot  (0) 2016.10.20
gpt fdisk  (0) 2016.09.22
adb, fastboot 설치  (0) 2016.09.22
MBR 디스크와 GPT 디스크  (0) 2016.09.22

sample code: http://www.signal11.us/oss/udev/udev_example.c


스터디할것 http://freecatz.tistory.com/227


select 함수 : http://yms2047.tistory.com/entry/select-%ED%95%A8%EC%88%98-%EC%82%AC%EC%9A%A9%EB%B2%95


 libudev : http://www.signal11.us/oss/udev/


모바일 감지 js : https://hgoebl.github.io/mobile-detect.js/


'리눅스커널' 카테고리의 다른 글

[Linux]Improving performance/Boot process  (0) 2018.10.03
[Linux] drop caches  (0) 2018.03.20
[gcc] floating point ABI 에 대해서  (0) 2017.03.14
rootfs  (0) 2016.11.15
DTB (비글본)  (0) 2016.09.20

http://pinocc.tistory.com/127


'리눅스커널' 카테고리의 다른 글

[Linux] drop caches  (0) 2018.03.20
udev  (0) 2017.03.15
rootfs  (0) 2016.11.15
DTB (비글본)  (0) 2016.09.20
내 pc 설정  (0) 2016.07.12

http://iggeak.tistory.com/15

'리눅스커널' 카테고리의 다른 글

udev  (0) 2017.03.15
[gcc] floating point ABI 에 대해서  (0) 2017.03.14
DTB (비글본)  (0) 2016.09.20
내 pc 설정  (0) 2016.07.12
부팅 상태에서 커널 업데이트 방법  (0) 2016.07.07

$ sudo add-apt-repository ppa:nilarimogard/webupd8

$ sudo apt-get update 

$ sudo apt-get install android-tools-adb android-tools-fastboot


http://developerpostit.blogspot.kr/2014/08/welcome-document_52.html


'리눅스커널 > 링크' 카테고리의 다른 글

Process 와 Thread  (0) 2017.11.18
커널스터디 참고 링크  (0) 2017.04.16
gpt fdisk  (0) 2016.09.22
adb, fastboot 설치  (0) 2016.09.22
MBR 디스크와 GPT 디스크  (0) 2016.09.22

+ Recent posts