
Kubernetesã䜿ãå§ãããšããã³ã³ãããªãœãŒã¹ã®æ§æãå¿ããããšããããããŸãããã®æç¹ã§ãDockerã€ã¡ãŒãžãæ©èœããŠããŠãKubernetesã¯ã©ã¹ã¿ãŒã«ãããã€ã§ããããšã確èªããå¿ èŠããããŸãã
ãã ããåŸã§ãã¢ããªã±ãŒã·ã§ã³ãä»ã®ã¢ããªã±ãŒã·ã§ã³ãšäžç·ã«å®çšŒåã¯ã©ã¹ã¿ãŒã«ãããã€ããå¿ èŠããããŸãããããè¡ãã«ã¯ãã³ã³ããã«ãªãœãŒã¹ãå²ãåœãŠãã¢ããªã±ãŒã·ã§ã³ãèµ·åããŠå®è¡ããã®ã«ååãªãªãœãŒã¹ãããããšã確èªããå¿ èŠããããŸããä»ã®å®è¡äžã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯åé¡ã¯ãããŸãããMail.ru
ã®KubernetesaaSããŒã ã¯ãã³ã³ãããªãœãŒã¹ïŒCPUãšMEMïŒããªã¯ãšã¹ããããã³ãªãœãŒã¹å¶éã«é¢ããèšäºã翻蚳ããŸããããããã®èšå®ã®å©ç¹ãšãããããã€ã³ã¹ããŒã«ããªããšã©ããªãããåŠã³ãŸãã
ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹
次ã®åäœãæã€2çš®é¡ã®ãªãœãŒã¹ããããŸãã
- äžå€®åŠçè£ çœ®ïŒCPUïŒ-ã³ã¢;
- ã¡ã¢ãªïŒMEMïŒ-ãã€ãã
ãªãœãŒã¹ã¯ã³ã³ããããšã«æå®ãããŸããæ¬¡ã®YAMLããããã¡ã€ã«ã«ã¯ãèŠæ±ããããªãœãŒã¹ãšå¶éããããªãœãŒã¹ãå«ããªãœãŒã¹ã»ã¯ã·ã§ã³ã衚瀺ãããŸãã
- èŠæ±ãããããããªãœãŒã¹=ãã¹ãŠã®ãããã®èŠæ±ããããªãœãŒã¹ã®åèšã
- ããããªãœãŒã¹ã®å¶é=ãã¹ãŠã®ã³ã³ããã®éçãªãœãŒã¹ã®åèšã
apiVersion: v1
kind: Pod
metadata:
name: backend-pod-name
labels:
application: backend
spec:
containers:
â name: main-container
image: my-backend
tag: v1
ports:
â containerPort: 8080
resources:
requests:
cpu: 0.2 # REQUESTED CPU: 200m cores
memory: "1Gi" # REQUESTED MEM: 1Gi
limits:
cpu: 1 # MAX CPU USAGE: 1 core
memory: "1Gi" # MAX MEM USAGE: 1Gi
â name: other-container
image: other-app
tag: v1
ports:
â containerPort: 8000
resources:
requests:
cpu: "200m" # REQUESTED CPU: 200m cores
memory: "0.5Gi" # REQUESTED MEM: 0.5Gi
limits:
cpu: 1 # MAX CPU USAGE: 1 core
memory: "1Gi" # MAX MEM USAGE: 1GièŠæ±ããããªãœãŒã¹ãšå¶éããããªãœãŒã¹ã®äŸããã仿§ã®
ãã£ãŒã«ã
resources.requestedã¯ãç®çã®ããŒããèŠã€ããããã«äœ¿çšãããèŠçŽ ã®1ã€ã§ãããã§ã«ãã®äžã§ããããã®å±éãã¹ã±ãžã¥ãŒã«ã§ããŸããé©åãªããŒããã©ã®ããã«èŠã€ããŸããïŒ
Kubernetesã¯ããã¹ã¿ãŒããŒããŸãã¯ãã¹ã¿ãŒããŒãïŒKubernetes Control PlaneïŒãå«ãããã€ãã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãããã¹ã¿ãŒããŒãã«ã¯ãkube-apiserverãkube-controller-managerãããã³kube-schedulerãšããããã€ãã®ããã»ã¹ããããŸãã
kube-schedulerããã»ã¹ã¯ãæ°ããäœæãããã¢ãžã¥ãŒã«ã調ã¹ãèŠæ±ããããªãœãŒã¹ã®æ°ãå«ãããã¹ãŠã®ã¢ãžã¥ãŒã«èŠæ±ã«äžèŽããå¯èœæ§ã®ããã¯ãŒã«ãŒããŒããæ¢ã圹å²ãæãããŸãã kube-schedulerã«ãã£ãŠæ€åºãããããŒãã®ãªã¹ããã©ã³ã¯ä»ããããŸãããããã¯ãã¹ã³ã¢ãæãé«ããµã€ãçšã«èšç»ãããŠããŸãã

åçã¯ãkube-schedulerãæ°ãã玫è²ã®ããããã¹ã±ãžã¥ãŒã«ããå¿ èŠãããããšã瀺ããŠããŸãã Kubernetesã¯ã©ã¹ã¿ãŒã«ã¯ãAãšBã®2ã€ã®ããŒããå«ãŸããŠããŸããã芧ã®ãšãããkube-schedulerã¯ããããããŒãAã«ã¹ã±ãžã¥ãŒã«ã§ããŸããã䜿çšå¯èœãªïŒæªæ¿è«Ÿã®ïŒãªãœãŒã¹ã玫è²ã®ãããã®èŠæ±ãšäžèŽããŸãããããšãã°ã䜿çšå¯èœãªã¡ã¢ãªã¯0.5GBã§ããããã玫è²ã®ãããã«ãã£ãŠèŠæ±ããã1GBã®ã¡ã¢ãªã¯ããŒãAã«é©åããŸãããããããããŒãBã«ã¯ååãªãªãœãŒã¹ããããŸãããã®çµæãkube-schedulerã¯ã玫è²ã®ãããã®å®å ãããŒãBã§ãããšå€æããŸãã
ããã§ãèŠæ±ããããªãœãŒã¹ãããããéå§ããããŒãã®éžæã«ã©ã®ããã«åœ±é¿ããããããããŸãããããããéçãªãœãŒã¹ã¯ã©ã®ããã«åœ±é¿ããŸããïŒ
å¶éãªãœãŒã¹ã¯ãCPU / MEMãè¶ããããšãã§ããªãå¢çã§ãããã ããCPUã¯æè»ã§ãããããCPUã®å¶éã«éããã³ã³ããã«ãã£ãŠãããããã·ã£ããããŠã³ããããšã¯ãããŸããã代ããã«ãCPUã¹ããããªã³ã°ãéå§ãããŸããMEMã®äœ¿çšå¶éã«éããå ŽåãRestartPolicyèšå®ã§èš±å¯ãããŠããå Žåãã³ã³ããã¯OOM-Killerã«ãã£ãŠåæ¢ãããåèµ·åãããŸãã
èŠæ±ããããªãœãŒã¹ã詳现ã«å¶éãã

èŠæ±ããããªãœãŒã¹ãšå¶éããããªãœãŒã¹ãã©ã®ããã«æ©èœãããã説æããæè¯ã®æ¹æ³ã¯ãKubernetesãšDockerã®éã®é¢ä¿ã衚ãããšã§ããäžã®å³ã§ã¯ãKubernetesãã£ãŒã«ããšDockerèµ·åãã©ã°ãã©ã®ããã«é¢é£ããŠãããã確èªã§ããŸãã
ã¡ã¢ãªïŒãªã¯ãšã¹ããšå¶é
containers:
...
resources:
requests:
memory: "0.5Gi"
limits:
memory: "1Gi"
äžèšã®ããã«ãã¡ã¢ãªã¯ãã€ãåäœã§æž¬å®ãããŸããKubernetesã®ããã¥ã¡ã³ãã«åºã¥ããŠãã¡ã¢ãªãæ°å€ãšããŠæå®ã§ããŸããéåžžãããã¯æŽæ°ã§ããããšãã°ã2678ãã€ãŸã2678ãã€ãã§ããæ¥å°ŸèŸ
Gã䜿çšããããšãã§ããŸããGiãæãéèŠãªããšã¯ãããããåçã§ã¯ãªãããšãå¿ããªãã§ãã ããã 1ã€ç®ã¯10鲿°ã§ã2ã€ç®ã¯ãã€ããªã§ããäžäŸãšããŠãææžK8Sã§è¿°ã¹ãïŒ128974848ã129e6ã129Mã123Mi-圌ãã¯äºå®äžç䟡ã§ãã
Kubernetesãã©ã¡ãŒã¿ãŒã¯Dockerãã
limits.memoryã®ãã©ã°ãšäžèŽããŸã--memoryãã®å Žåã«ã¯request.memoryDockerã¯ãã®ãã£ãŒã«ãã䜿çšããªããããDockerã®ç¢å°ã¯ãããŸããããããå¿
èŠãã©ããå°ããŠãããã§ããïŒã¯ããå¿
èŠã§ããåã«èšã£ãããã«ããã£ãŒã«ãã¯Kubernetesã«ãšã£ãŠéèŠã§ãã kube-schedulerã¯ãããããã®æ
å ±ã«åºã¥ããŠãããããã¹ã±ãžã¥ãŒã«ããããŒããæ±ºå®ããŸãã
ã¯ãšãªã«ååãªã¡ã¢ãªãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ã©ããªããŸããïŒ
ã³ã³ãããèŠæ±ãããã¡ã¢ãªã®å¶éã«éãããšããããã¯ãããã°ã«ãŒãã«é 眮ãããããŒãã«ã¡ã¢ãªããªããªããšåæ¢ããŸãã
ã¡ã¢ãªå¶éãäœãèšå®ãããããšã©ããªããŸããïŒ
ã³ã³ãããã¡ã¢ãªå¶éãè¶ ãããšãOOM-Killedã®ããã«çµäºããŸãããŸããå¯èœã§ããã°ãRestartPolicyã«åºã¥ããŠåèµ·åãããŸã
Alwaysãããã©ã«ãã¯ã§ãã
èŠæ±ãããã¡ã¢ãªãæå®ããªããšã©ããªããŸããïŒ
Kubernetesã¯å¶éãåãããããããã©ã«ããšããŠèšå®ããŸãã
ã¡ã¢ãªå¶éãæå®ããªããšã©ããªããŸããïŒ
ã³ã³ããã«ã¯å¶éããªããå¿ èŠãªã ãã¡ã¢ãªã䜿çšã§ããŸãã圌ãããŒãã®å©çšå¯èœãªãã¹ãŠã®ã¡ã¢ãªã䜿ãå§ãããšãOOMã¯åœŒã殺ããŸãããã®åŸãå¯èœã§ããã°ãRestartPolicyã«åºã¥ããŠã³ã³ãããåèµ·åãããŸãã
ã¡ã¢ãªå¶éãæå®ããªããšã©ããªããŸããïŒ
ããã¯ææªã®ã·ããªãªã§ããã¹ã±ãžã¥ãŒã©ãŒã¯ã³ã³ãããŒã«å¿ èŠãªãªãœãŒã¹ã®éãèªèããŠããªããããããŒãã§é倧ãªåé¡ãçºçããå¯èœæ§ããããŸãããã®å Žåãããã©ã«ãã®ååä»ãå¶çŽïŒLimitRangeã§èšå®ïŒããããšäŸ¿å©ã§ããããã©ã«ãã§ã¯å¶éã¯ãããŸããããããã«ã¯å¶éããªããå¿ èŠãªã ãã¡ã¢ãªã䜿çšã§ããŸãã
èŠæ±ãããã¡ã¢ãªãããŒããæäŸã§ããéãè¶ ããŠããå Žåããããã¯ã¹ã±ãžã¥ãŒã«ãããŸãããããã¯
Requests.memoryæå°å€ã§ã¯ãªãããšãèŠããŠããããšãéèŠã§ããããã¯ãã³ã³ãããç¶ç¶çã«å®è¡ãããã®ã«ååãªã¡ã¢ãªéã®èª¬æã§ãã
éåžžã®ããã«åãå€ãèšå®ããããšããå§ãããŸã
request.memoryãšãlimit.memory..ãããã«ãããKubernetesã¯ãããããå®è¡ããã®ã«ååãªã¡ã¢ãªãããããå®è¡ããã®ã«ååã§ã¯ãªãããŒãã§ããããã¹ã±ãžã¥ãŒã«ããããšãã§ããªããªããŸããæ³šæïŒããããã¹ã±ãžã¥ãŒã«ããå ŽåãKubernetesã¯ã«ãŠã³ãããã ãã§ãã«ãŠã³ãrequests.memoryãlimits.memoryãŸããã
CPUïŒãªã¯ãšã¹ããšå¶é
containers:
...
resources:
requests:
cpu: 1
limits:
cpu: "1200m"
CPUã䜿çšãããšããã¹ãŠãããå°ãè€éã«ãªããŸããããã¯Kubernetesãšããã«ãŒãšã®éã®é¢ä¿ã®çµµã«è¡ããããªãã¯ãããããããšãããããŸã
request.cpuäžèŽã--cpu-sharesãããã¯äžæ¹ã§ãlimit.cpuãã©ã°ãäžèŽãcpusããã«ãŒã§ã
KubernetesãèŠæ±ããCPUã«ã¯ãCPUãµã€ã¯ã«ã®å²åã§ãã1024ãæããããŸãããã«ã³ã¢ã1ã€ãªã¯ãšã¹ãããå Žåã¯ã
cpu: 1äžèšã®ããã«è¿œå ããå¿
èŠããããŸãã
å®å šãªã«ãŒãã«ïŒæ¯ç= 1024ïŒãèŠæ±ããŠããã³ã³ãããŒããããåãåãããšãæå³ããããã§ã¯ãããŸããããã¹ããã·ã³ã«ã³ã¢ã1ã€ãããªããè€æ°ã®ã³ã³ããã䜿çšããŠããå Žåã¯ããã¹ãŠã®ã³ã³ããã䜿çšå¯èœãªCPUãã³ã³ããéã§å ±æããå¿ èŠããããŸããããã¯ã©ã®ããã«èµ·ãããŸããïŒåçãèŠãŠã¿ãŸãããã

CPUãªã¯ãšã¹ã-ã·ã³ã°ã«ã³ã¢ã·ã¹ãã
ã³ã³ãããå®è¡ããŠããã·ã³ã°ã«ã³ã¢ãã¹ãã·ã¹ãã ããããšããŸããMomïŒKubernetesïŒã¯ã±ãŒãïŒCPUïŒãçŒããåäŸïŒã³ã³ããïŒéã§å ±æããããšèããŠããŸãã3人ã®åäŸã¯ã±ãŒãå šäœïŒæ¯ç= 1024ïŒãæãã§ãããå¥ã®åäŸã¯ã±ãŒãã®ååïŒ512ïŒãæãã§ããŸããããã¯å ¬å¹³ã«ãªããããšæã£ãŠãç°¡åãªèšç®ãããŸãã
# ?
# 3
cakesNumberKidsWant = (3 * 1) + (1 * 0.5) = 3.5
# :
3 (/) * 1 ( / ) + 1 (/) * 0.5 ( / )
# ?
availableCakesNumber = 1
# () ?
newMaxRequest = 1 / 3.5 =~ 28%
èšç®ã«åºã¥ããŠã3人ã®åäŸã¯ã«ãŒãã«å šäœã§ã¯ãªãã«ãŒãã«ã®28ïŒ ãåãåããŸãã4çªç®ã®åã¯ãã«ãŒãã«å šäœã®ååã§ã¯ãªã14ïŒ ãååŸããŸãããã ãããã«ãã³ã¢ã·ã¹ãã ã䜿çšããŠããå Žåã¯ç¶æ³ãç°ãªããŸãã

CPUãªã¯ãšã¹ã-ãã«ãã³ã¢ïŒ4ïŒã·ã¹ãã
äžã®ç»åã§ã¯ã3人ã®åäŸããã€å šäœãæãã§ããã1人ãååãæãã§ããããšãããããŸããããã¯4ã€ã®ã±ãŒããçŒããã®ã§ã圌女ã®åäŸãã¡ã®ããããã¯åœŒããæãã ãå€ããåŸãã§ãããããã«ãã³ã¢ã·ã¹ãã ã§ã¯ãããã»ããµãªãœãŒã¹ã¯å©çšå¯èœãªãã¹ãŠã®ããã»ããµã³ã¢ã«åæ£ãããŸããã³ã³ããããã«CPUã³ã¢ã®1ã€æªæºã«å¶éãããŠããå Žåã§ãã100ïŒ äœ¿çšã§ããŸãã
äžèšã®èšç®ã¯ãCPUãã³ã³ããéã§ã©ã®ããã«å²ãåœãŠãããããçè§£ããããã«ç°¡ç¥åãããŠããŸãããã¡ãããã³ã³ããèªäœã®ä»ã«ãCPUãªãœãŒã¹ã䜿çšããããã»ã¹ããããŸãã 1ã€ã®ã³ã³ããå ã®ããã»ã¹ãã¢ã€ãã«ç¶æ ã®å Žåãä»ã®ã³ã³ããã¯ãã®ãªãœãŒã¹ã䜿çšã§ããŸãã
CPU: "200m"察å¿ããŸãCPU: 0,2ãããã¯ã1ã€ã®ã³ã¢ã®çŽ20ïŒ
ãæå³ããŸãã
ããã§ã¯è©±ããŸããã
limit.cpu..ãKubernetesãå¶éããCPUã«100ãæããŸãããã®çµæãã³ã³ããã100ÎŒsããšã«äœ¿çšã§ããæéã«ãªããŸãïŒcpu-periodïŒã
limit.cpuDockerãã©ã°ãšäžèŽã--cpusãŸããããã¯ãå€ããã®--cpu-periodãšã®æ°ããçµã¿åããã§ã--cpu-quotaããããèšå®ããããšã«ãããã¹ãããã«ãéå§ããããŸã§ã³ã³ãããæå€§ã§äœ¿çšã§ããCPUãªãœãŒã¹ã®æ°ã瀺ããŸãã
- cpusã¯ãèšå®ãš;ã®çµã¿åããã§
cpu-periodãããcpu-quota. cpus = 1.5åçã§ããcpu-period = 100000cpu-quota = 150000 - cpu-period - CPU CFSã¹ã±ãžã¥ãŒã©ãŒæéãããã©ã«ãã§ã¯100ãã€ã¯ãç§ã
- cpu-quota-
cpu-periodã³ã³ãããå¶éãããŠããå éšã®ãã€ã¯ãç§æ°ã
èŠæ±ãããCPUãäžååãªå Žåã¯ã©ããªããŸããïŒ
ã³ã³ãããã€ã³ã¹ããŒã«ãããŠãã以äžã®ãã®ãå¿ èŠãšããå Žåãä»ã®ããã»ã¹ããCPUãçã¿ãŸãã
äžååãªCPUå¶éãèšå®ãããšã©ããªããŸããïŒ
CPUãªãœãŒã¹ã¯èª¿æŽå¯èœã§ãããããã¹ãããã«ããªã³ã«ãªããŸãã
CPUãªã¯ãšã¹ããæå®ããªããšã©ããªããŸããïŒ
ã¡ã¢ãªãšåæ§ã«ãèŠæ±å€ã¯å¶éã«çãããªããŸãã
CPUå¶éãæå®ããªããšã©ããªããŸããïŒ
ã³ã³ããã¯å¿ èŠãªã ãCPUã䜿çšããŸããããã©ã«ãã®CPUããªã·ãŒïŒLimitRangeïŒãåååã§å®çŸ©ãããŠããå Žåããã®å¶éã¯ã³ã³ãããŒã«ã䜿çšãããŸãã
ãªã¯ãšã¹ããCPUå¶éãæå®ããªããšã©ããªããŸããïŒ
ã¡ã¢ãªãšåæ§ã«ãããã¯ææªã®ã·ããªãªã§ããã¹ã±ãžã¥ãŒã©ãŒã¯ã³ã³ãããŒã«å¿ èŠãªãªãœãŒã¹ã®éãèªèããŠããªããããããŒãã§é倧ãªåé¡ãçºçããå¯èœæ§ããããŸãããããåé¿ããã«ã¯ãåå空éã®ããã©ã«ãã®å¶éïŒLimitRangeïŒãèšå®ããå¿ èŠããããŸãã
ããŒããäŸçµŠã§ãããããå€ãã®CPUãèŠæ±ããå Žåããããã¯ã¹ã±ãžã¥ãŒã«ãããªãããšã«æ³šæããŠãã ããã
Requests.cpu-æå°å€ã§ã¯ãããŸããããããããèµ·åããŠé害ãªãåäœããã®ã«ååãªå€ã§ããã¢ããªã±ãŒã·ã§ã³ãè€éãªèšç®ãå®è¡ããªãå Žåãæè¯ã®ãªãã·ã§ã³ã¯request.cpu <= 1ãå¿
èŠãªæ°ã®ã¬ããªã«ãã€ã³ã¹ããŒã«ããŠå®è¡ããããšã§ãã
èŠæ±ããããªãœãŒã¹ã®çæ³çãªéãŸãã¯ãªãœãŒã¹å¶é
ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®å¶éã«ã€ããŠåŠã³ãŸãããæ¬¡ã«ãããããã§ã¢ããªã±ãŒã·ã§ã³ãåé¡ãªãå®è¡ããã«ã¯ããããã«ããã€ã®ãªãœãŒã¹ãå¿ èŠã§ããïŒããšãã質åã«çãããšããæ¥ãŸãããçæ³çãªéã¯ïŒã
æ®å¿µãªããããããã®è³ªåã«å¯Ÿããæç¢ºãªçãã¯ãããŸãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå¿ èŠãªCPUãŸãã¯ã¡ã¢ãªã®éãããããªãå Žåã¯ãã¢ããªã±ãŒã·ã§ã³ã«å€§éã®ã¡ã¢ãªãšCPUãå²ãåœãŠãŠããããã³ãããŒã¯ãå®è¡ããã®ãæåã®æ¹æ³ã§ãã
ããã©ãŒãã³ã¹ãã¹ãã«å ããŠãã¢ããªã±ãŒã·ã§ã³ã®ç£èŠåäœã1é±é芳å¯ããŸããã¢ããªã±ãŒã·ã§ã³ãèŠæ±ãããããå°ãªããªãœãŒã¹ãæ¶è²»ããŠããããšãã°ã©ãã«ç€ºãããŠããå Žåã¯ãèŠæ±ãããCPUãŸãã¯ã¡ã¢ãªã®éãæžããããšãã§ããŸãã
äŸãšããŠããã®Grafanaããã·ã¥ããŒããåç §ããŠãã ããã..ãèŠæ±ããããªãœãŒã¹ãŸãã¯ãªãœãŒã¹å¶éãšçŸåšã®ãªãœãŒã¹äœ¿çšéã®éãã衚瀺ãããŸãã
çµè«
ãªãœãŒã¹ã®ã¯ãšãªãšå¶éã¯ãKubernetesã¯ã©ã¹ã¿ãŒãæ£åžžã«ä¿ã€ã®ã«åœ¹ç«ã¡ãŸããå¶éãæ£ããæ§æãããšãã³ã¹ããæå°éã«æããããã¢ããªã±ãŒã·ã§ã³ãåžžã«å®è¡ããç¶ããŸãã
èŠããã«ãèŠããŠããã¹ãããšãããã€ããããŸãã
- èŠæ±ããããªãœãŒã¹ã¯ãèµ·åæïŒKubernetesãã¢ããªã±ãŒã·ã§ã³ããã¹ãããäºå®ã®å ŽåïŒã«èæ ®ãããæ§æã§ããå¯Ÿç §çã«ããªãœãŒã¹ãå¶éããããšã¯ãã¢ããªã±ãŒã·ã§ã³ããã§ã«ããŒãã§å®è¡ãããŠããå®è¡æã«éèŠã§ãã
- ã¡ã¢ãªãšæ¯èŒããŠãCPUã¯èŠå¶ããããªãœãŒã¹ã§ããCPUãäžè¶³ããŠããå Žåããããã¯ã·ã£ããããŠã³ãããã¹ãããã«ãéå§ããŸãã
- èŠæ±ããããªãœãŒã¹ãšãªãœãŒã¹å¶éã¯æå°å€ãšæå€§å€ã§ã¯ãããŸããïŒèŠæ±ããããªãœãŒã¹ãç¹å®ããããšã«ãããã¢ããªã±ãŒã·ã§ã³ãã¹ã ãŒãºã«å®è¡ãããããã«ããŸãã
- ã¡ã¢ãªèŠæ±ãã¡ã¢ãªå¶éãšçããèšå®ããããšããå§ãããŸãã
CPU <=1ã¢ããªã±ãŒã·ã§ã³ãè€éãªèšç®ãå®è¡ããªãå Žåã¯ãèŠæ±ã«å¿ããŠã€ã³ã¹ããŒã«ããããšããå§ãããŸãã- ããŒããæã£ãŠãããããå€ãã®ãªãœãŒã¹ãèŠæ±ããå Žåããããã¯ãã®ããŒãã«å¯ŸããŠã¹ã±ãžã¥ãŒã«ãããŸããã
- è² è·ãã¹ããšç£èŠã䜿çšããŠãèŠæ±ããããªãœãŒã¹/ãªãœãŒã¹å¶éã®æ£ããéãæ±ºå®ããŸãã
ãã®èšäºãããªãœãŒã¹å¶éã®åºæ¬çãªæŠå¿µãçè§£ããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãããããŠãããªãã¯ããªãã®ä»äºã«ãã®ç¥èãé©çšããããšãã§ããã§ãããã
幞éãïŒ
ä»ã«èªãã¹ãããšïŒ