有没有办法告诉Linux不应该将特定进程的内存换成磁盘?
这是一个Java应用程序,所以理想情况下,我希望能通过命令行实现这一点.
我知道可以将全局交换设置为0,但这明智吗?
有没有办法告诉Linux不应该将特定进程的内存换成磁盘?
这是一个Java应用程序,所以理想情况下,我希望能通过命令行实现这一点.
我知道可以将全局交换设置为0,但这明智吗?
你可以在Linux下通过mlockall(2)系统调用来实现这一点;这将适用于整个过程,但一定要阅读你需要通过的论点.
你真的需要把整件事都扯进go 吗?如果它是一个java应用程序,你可能会把整个JVM锁在内核中.我不知道有什么命令行方法可以做到这一点,但你可以编写一个简单的程序来调用fork
,调用mlockall
,然后调用exec
.
您还可以查看madvise(2)中的某个访问模式通知是否满足您的需求.如果适用,建议VM子系统使用更好的分页策略可能会更好.
请注意,很久以前,在SunOS的统治下,有一种类似于madvise的机制,叫做vadvise(2).